Pc Pic 16F628A haberleşmesi

Başlatan ceviz, 07 Haziran 2008, 00:37:21

ceviz

Merhabalar,
Forumda bayağı gezindikten sonra cevap bulamadığım için sorma gereği hissettim
Ben 2 adet 16f628 ile tek yönlü kablolu haberleşme yapıyorum.

Verici tarafının kodları aşağıdaki gibi.

BASLA: VER=0
         IF TUSA=0 THEN
         VER=1
         gosub gonder
         WHILE TUSA=0
         WEND
         endIF
         PAUSE 100
GOTO BASLA

GONDER:
       SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]
       SEROUT2 CIKIS,396,["E","T","E",ver]
return
END


Karşı taraftaki 16f628 ,aşağıdaki kod ile bilgiyi alıp ledi yakıyor.

BASLA:                
         SerIn2 GIRIS,396,[WAIT ("ETE"),AL]
        IF AL=1 THEN
        TOGGLE LEDA
        SEROUT2 CIKIS,396,["1.LED YANIYOR "]
        ENDIF
       pause 100    
      GOTO BASLA

END

Ben alıcı devresindeki serout komutuyla "1.LED YANIYOR " yazısını hyper terminalden max232 vasıtasıyla alıyorum devre güzel çalışıyor.
benim hyper terminalden bu çıkışı aktif etmem için nasıl bir kod basmam gerekir.
İlginize şimdiden teşekkür ederim.

ceviz

Tekrar merhaba,
Sorunumu çözdüm pic tarafında ascii olarak yazılan değerlerin karşılığını visualbasic tarafında decimal olarak yazdım ve sorun halloldu.

Örneğin

Pic tarafında AL=49

BASLA:
SerIn2 GIRIS,396,[WAIT ("ETE"),AL]
IF AL=49 THEN
TOGGLE LEDA
SEROUT2 CIKIS,396,["1.LED YANIYOR "]
ENDIF
pause 100
GOTO BASLA

Visualbasic Tarafında AL=49 a denk gelen yazılacak değer ETE1

Private Sub Command2_Click()
MSComm1.Output = "ETE1"
End Sub