Visual basic İle serİ port kontrol

Katılım
18 Ocak 2008
Mesajlar
1,088
Puanları
156
Yaş
40
Öncelikle Selamun aleyküm abiler ben bu seri port kontrolu için vb ile bir program yazdım ama işin esprisi şurda PROGRAM ÇALIŞMIYO :) ama ben hayper terminal ile de bir uygulama yaptım örneğin pic12f675 in bir pininden çıkış verdim hyper terminal ile de rs232 portundan verileri aldım pice yazdığım ptogram şöyle

cmcon=7
ansel=0
sayac var byte
sayac=0
basla:
serout gpio.0,n2400[sayac]
sayac=sayac+1
pause 150
goto basla
end
arkadaşlar bu şekilde pic ile bilgisayarın hyper terminalini kullanarak iletişim kuruyorum ama benim sayı olarak gönderdiklerimi pc abuk subuk karakter olarak alıyo işin içinde biras da şöyle yaptım örneğim A harfini yolladım sayac="A" yaptım sayacı arttıran komutu da çıkarttım ama yine ne pc de A harfini alamadım onun kodu 65 i de alamadım yine abuk subuk karakterler aldım bu konuda ben nerde yanlış yapıyorum birde formda daha önceki linkleri inceledim herşeyi vb ile aynı fakat sadece MSCOMM1.DTREnable=FALSE diye bir komut buldum bende bu komut yok anlamı nedir acaba ve benim yazdığım programda veri akışı ile ilgili bir problem mi bu konuda çok acil olarak yardımlarınızı bekliyorum.
Vb ile programda şu şekilde bir kod yolladığımı farz edelim

private sub command1_clik()
MSComm1.CommPort = 1

MSComm1.Settings = "2400,N,8,1"

'MSComm1.DTREnable = False ' bu komut benim programımda yok sorun olur mu

MSComm1.PortOpen = True
mscomm1.output=val(text1.text)
MSComm1.PortOpen = False

end_sub

bu kodlar ile yolladığım datayı pic tanımıyo çünkü ben text1.text kutusuna yazdığım datayı hyper terminalde olduğu gibi pc de abuk subuk olarak seri porta yolluyosa ben de program olarak şunu yazdığımı düşünelim ki

cmcon=7
ansel=0
veri var byte
veri=0
basla:
serin gpio.0,n2400[veri]
if veri=10 then
goto yak
endif
if veri=20 then
goto sondur
endif
yak:
high gpio.2
goto basla
sondur:
low gpio.2
goto basla
end

hiç bir zaman bu karakterleri yakalayamayacağız bu konuda bana yardımlarınızı bekliyorum elinde daha önceden yapılmış örnek programlar olan arkadaşlarda varsa lütfen bi el atsınlar artık canıma tak dedi bi port kontrolu yüzünden onca okuyup emek ettiğim elektronği bırakma aşamasına geldim artık :) :)
 
"A"harfi veya 65 gönderdiğinizde gönderdiğinizde hangi karakterler geliyor yazarsanız bi inceleyelim sorunu anlarsak yardımcı olabiliriz belki
 
pic ten gönderdiğin verinin sayı olarak görülmesini istiyorsan [dec veri] yazman gerek.yani decimal göndermen gerek.
pc den gönderirken de mscomm1.output=val(text1.text) işe yaramamıştı bende.onun yerine şöyle bişey kullanmayı dene ;

Dim giden As Integer

giden = Val(Text1.Text)
MSComm1.Output = """" & giden & """" ' vb kaçış karakteri

picten veri alırken de gönderirken de [dec] kullan kolay gelsin...
 
paradox ' Alıntı:
pic ten gönderdiğin verinin sayı olarak görülmesini istiyorsan [dec veri] yazman gerek.yani decimal göndermen gerek.
pc den gönderirken de mscomm1.output=val(text1.text) işe yaramamıştı bende.

kardeş işe yaramaması doğal çünkü mscomm'a göndermesi için değer vermiyorsun ifade için değer atıyorsun bu yaptığın ancak mscomm un takma adı gibi görünür
 
dostum seri ve paralel port kontrolü ile çok uzun süre çalıştım.yazdığın program çalışır ama rx-tx döngüsünü yeniletmen gerekir.aksi taktirde anlamsız karakterlerle uğraşırsın.bunun yerine çok daha basit komutlarla bu işi halledebilirsin.
mail adresime mail atarsan sana gönderebilirim. [email protected]
 
Önce bence donanım sağlıklımı bakmak lazım önce hatayı aramaya ordan başlamak lazım rs232 direk olarak pic' e uyumlu değildir arada dönüştürücü varmı bunları bir belirt öncelikle sonra sorunu yazılımda ara pc ile pic yerine pic ile pic olarak başla mesela sonra pc pic e geçderim adım adım. Burda yazmakla ya da tarifle biraz zor.
 
arkadaşım yazdığın şu komutta virgül eksik belki yazarken yanlış yazmış olabilirsin amam virgül olmalıdır
ve birde iletişim hızını pic kristali etkiliyor eğer 4mhz de çalıştırdıysan hızın 2400 dür değilse bu 2400 den farklı bir hızda olur bu da saçma değerler veriri

serout gpio.0,n2400,[sayac]

kolay gelsin
 
arkadaşlar klavyeden geln bilgiyle rs232 ile pic16f84 e bilgi gndermek istyorum örneğin: a s d f tuşlarıyla ayrı ayrı led leri yakmak istyrm bunun yazılımını da bulamadım benmde yazılım bilgim pek yok bu yazalımı nerden bulabilirm yardmcı olursanız çok sevinrm şimdiden teşekkürler....
 

Forum istatistikleri

Konular
129,755
Mesajlar
929,698
Kullanıcılar
452,505
Son üye
ironman2112

Yeni konular

Çevrimiçi üyeler

Geri
Üst