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.
Bilgisi olan arkadaslar yardimlarinizi bekliyorum.
:( :( :( :( :( :( :(
Arkadaslar bu konu hakkinda yardim edebilecek kimsemiz yokmu????
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...
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
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.
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.