VB ile Serial Porta bagli PIC16F84'e nasil veri gönderilir?

Başlatan Digimensch, 02 Kasım 2004, 22:09:47

Digimensch

Ben Proteus ortamindaki Virtual Terminal icine girdigim "x" karekterini Serial Portun TxD ucundan PIC16F84'e gönderdigimde PIC gelen bu veriye göre PortB.1  bitine bagli Led Lambayi HIGH (Yakiyor) yapiyor.
Acaba bu Virtual Terminalin yaptigi bu isi Visual Basic kodu ile nasil yapabilirim??
Ben bir deneme programcik yaptim fakat  PIC hic bir reaksiyon göstermiyor.
VB'de MSComm1 kullanarak Söyle bir kod kullandim :
Private Sub Command1_Click()
MSComm1.Output = "X"
End Sub

Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "2400,N,8,1"
MSComm1.PortOpen = True
End Sub


Programi derledim exe haline getirdim burda Problem yok fakat PIC'li devreyi Serial Porta baglayip bu yaptigim exe'yi calistirip Buttona bastigimda PIC kendine bagli lambayi yakmiyor.
Acaba unuttugum yada dikkate almadigim birseymi var burda??
Neden calismiyor??
PIC16F84'e yükledigim PicBasic kodunda hata olamaz cünkü Proteusda gayet güzel calisiyor.

Digimensch

Bilgisi olan arkadaslar yardimlarinizi bekliyorum.


PicProje

Arkadaslar bu konu hakkinda yardim edebilecek kimsemiz yokmu????
İzindeyiz Ulu önder Mustafa Kemal ATATÜRK

yıldırım ak

1-) MSComm1.CommPort = 1 ile port numaran yanlış olabilir.

2-) MSComm1.Settings = "2400,N,8,1" tanımlaman yanlış olabilir.

3-) (VB versiyonunu bilmiyorum ) MSComm1.Output = "X" yerine MSComm1.Output = Chr(Ascii Kodu) ile dene.

4-) Devren Virtual terminal denemenden sonra hasar görmüş olabilir.



İlk iki maddeyi virtual terminaldeki ayarlar ile karşılaştır.

Problemin bunlardan sonra çözülmez ise bildir.

Saygı ve Sevgiler...
"... Bana kulluk et; Beni anmak için namaz kıl" (Taha 14)

MuKaN

port numarasından olabilir..
eğer vb kodlarına "on error resume next" gibi hata atlayıcı kod yazdıysan buda programın hata vermesini ve herşey düzgün çalışıyor gibi görünmesini sağlar.
bence vb kodunu tekrar gözden geçir
Dünyayı Daha İyi Yapmayan İnsan,İnsan Değildir! (Kingdom of Heaven)

DaRt

Bn son olarak vb ile smartcardların atrsini gösteren program yazdım. Aynı kodlar bende çalışıyor. pic için "x" ve "X" farklı karakterlerdir buna dikkst et birde eğer pici seri porttan besliyorsan dcd ve rts yi enable durumuna getir. Yine olmazsa txd ve txd uçlarını birleştirerek vb ile bir karakter gönderip geri geldimi diye bak. Böylece hatanın nerde olduğunu anlayabilirsin.

beautifulriver

arkadaşım.Bide şu kode denermisin?
Mscomm1.output="x" & Chr$(13)
çünkü bende böyle bir sorunla karşılaştım.Bu kodu kullandığımda çok rahat picden ledleri yaktırabildim.Eğer çalışmazsa tekrar yeni yollar bulmaya çalışırız.İyi çalışmalar.