Pic 18f452 ye VBasic veri gönderme sorunu!

baddog777

Üye
Katılım
21 Haz 2009
Mesajlar
43
Puanları
1
Arkadaslar, hazırladıgım isis simulasyonunda, vbasic de program hazırlayıp gonderdıgım metni picin epromuna atmaya calısıyorum, sorunum, vbasıc de yaptıgım programdan giden veri pic tarafında alındıgında gonderdiğim text ile hıc bır alakası olmayan sekilde pic epromuna kaydediliyor!

aynı işlemi diger bır ısıs simulasyonu ile pic1 den pic2 simulasyonuna text gönderdiğimde alınan veri bozulmadan eproma kaydediliyor! devrede max232 kullanıyorum. sorun nerde bırturlu anlayamadım, devrede herhangı bir sorun bulamadım, ki iki ayrı sımulasyon bırbırı ıle duzgun olarak iletişim saglıyor,
vb kodu kısaca asagıdakı gıbı, gonderim seklımde mı hata var yardımcı olursanız sevınırım!
karakterleri tek tek gonderdım olmadı ascii kodu olarak gonderdım yıne olmadı! programda bu deneme satırlarıda var zaten!

Private Sub Command1_Click()

yazi = Text1.Text
uz = Len(yazi)
For t = 1 To uz
' yazi1 = Asc((Mid(yazi, t, 1)))
' MSComm1.Output = Str$(yazi1)
MSComm1.Output = Mid(yazi, t, 1)
'MSComm1.Output = yazi
Next

End Sub

Private Sub Form_Load()
MSComm1.Settings = "9600,N,8,1"
MSComm1.CommPort = 3
MSComm1.InputLen = 1
MSComm1.PortOpen = True
MSComm1.RThreshold = 1

End Sub
 
ascii kodunda göndereceksen ayarları
MsComm1.Settings="9600,N,7,2" olarak değiştir. çünkü Ascii kodu 7 bitliktir.
göndereceğin string için döngü yapmana gerek yok. direkt olarak
Mscomm1.Output=yazi
demen yeterli. ayrıca bitiş karakteri eklersen daha sağlıklı olur.
Örn:
MsComm1.Outout=yazi +Chr(13)+Chr(10) 'yazi + CRLF gibi
bu şekilde çalışır. eğer göndermiyorsa vb bileşenlerini yeniden yükle sıkıntı vardır. hatta elinde varsa vb.net kullan o bu işlerde daha yetenekli.istersen vb.net haberleşme kod örneğide gönderebilirim.
 
Merhaba
Sayın ESR
Ben VB.Net 2008 express edition kullanıyorum.Sizden rica etsem USB den bir bayt
(00000000)ve (11111111) göndermek için buton klikine veya herhangi bir elemanın klikine kodları yazar mısınız?(label,picture box-vs farketmez).USB'den gelen 1 baytlık bilgiyi de form içinde text box ta nasıl görebilirim?Teşekkür ederim.
 
virtual seri portu ıptal edip virtual terminal kullandıgımda , terminal ayarlarında veriyı inverted ettıgımde pic e veri düzgün gidiyor ve pic de hatasız gönderiyor! max232 kullandıgımı yazmıstım sımdi kafama takılan , 18f452 nın özelliği olan seri haberlesme portlarını kullanıyorum, rc7 ve rc6 .. max232 kullanmadan direkt baglantı yapabilirmiyim!
 
usb kullanmaya ihtiyacım olmadı şu ana kadar ama bildiğim kadarıyla vb.net'in generic usb sürücülerini desteklemede sıkıntısı var. bunun için windows api kullanmak gerekli. istersen windows api'lere bak kullanması çok zor değildir.
(tabii usb'den nereye veri göndereceğinde önemli sonuçta göndereceğin cihazın sürücüsünün de sisteminde yüklü olması gerekir.)
şu an oldukça yoğun çalışıyorum, acelen yoksa yoğunluğum geçtikten sonra yazmayı denerim.
 
max232 yi devreden kaldırdıgımda sorun olmuyr, 18f452 nin rc6 ve rc7 seri haberlesme pinlerini kullanıyorm, pratikde max232 olmadan bu pic için baglantı yapmak mumkunmudur, bu özelliği tasımayan piclerde direkt baglantı olmuyor ama seri haberlesme portu ıceren pıc ıcın de mı aynı sey gecerlı?
 
PC ile haberleşmede max232 tarzı bir entegre kullanman lazım çünkü seviyeler uyumsuzdur. Pc tarafında veri 12V seviyesinde gönderilir pic'te is 5V tur. bu sebeple PC ile pic arasında max232 olmadan bağlayamazsın. piclerin bir çoğunda usart vardır ama bu usart 12V gibi seviyelerle çalışmaz.
iki pic arasında rs232 haberleşmesi kuracaksan max232 kullanmana gerek yok eğer kullanırsan veriyi değillemen gerekir. ve RX TX çapraz bağlaman gerekir.
 
pic -pic degıl pc-pic arası baglantı, max232 varken neden veri bozuluyor acaba? simulasyona özel bi durum mu bu? 2 gundur ısın ıcınden cıkamadım! daha once söylediğim gibi simulasyonda virtual terminal kullanarak veri gonderip aldıgımda veriyı virtual terminal ayarlarında rx/tx polarity ayarını inverted ettiğimde veri duzeliyor!
 
max232 entegresi kullanıldığında gönderilen verinin terslenmesi gerekir. Yani örneğin %10101010 yerine %01010101 gönderilmelidir.
 
arkadaşlar pc den pic e veri göndermek istiyorumö fakat bazan gönderiyo bazen göndermiyor. max232 yi değiştirdim ama bi türlü sorunu bulamadım.
yardımcı olurmusunuz.
 

Forum istatistikleri

Konular
128,388
Mesajlar
917,179
Kullanıcılar
450,273
Son üye
rawengineer

Yeni konular

Geri
Üst