Problem polega na tym, że dopiero co zacząłem zabawę z bascomem a wcześniej programowałem w zwykłym asemblerze i na inną 51. Teraz chcę napisać program do komunikacji między urządzeniem zbudowanym na 89c2051 a sterownikiem. Komunikacja po rsie 232. Siedzę i męcze się z początkiem programu i jakoś mi nie idzie
Na początek chciałbym napisać aplikację która sprawdza czy urządzenie jest połączone do sterownika. Pomyślałem że zrobię to w ten sposób że będę wysyłał komunikat "test" bo wtedy ze sterownika otrzymuje odpowiedź "ok" co będzie sygnalizować dioda podłączona do portu P1.5. Narazie udało mi się zrobić tyle że procedura przechodzi jedną pętlę i na tym się kończy
Tzn reaguje na połączednie ze sterownikiem ale jeszcxe nie w taki sposób o jaki mi chodzi. Dodam że komunikacja jest 100% sprawna więc chodzi mi jedynie cvzysto o kwestię programową. O to mój listing programu proszę o jakieś podpowiedzi:
$regfile = "89c2051.dat"
$crystal = 11059200
$baud = 9600
Dim Buf As String * 3 , Dim A As Byte
Do
Waitms 500
P1.5 = 0
Print "AT"
Input Buf Noecho
If Buf = "AT " Or Buf = "ok " Then
P1.5 = 0
Wait 1
P1.5 = 1
Wait 1
P1.5 = 0
Wait 1
End If
P1.5 = 1
Waitms 200
P1.5 = 0
Waitms 200
P1.5 = 1
Loop
End
Myślałem żeby może zrealizować to na przerwaniach ?? Następnie chcę program rozbudować żeby zależnie od stanu linii na poszczególnych wybranych portach wysyłał odpowiednie komendy do sterownika po rsie?? Bardzo proszę doświadczonych programistów Bascoma o pomoc
$regfile = "89c2051.dat"
$crystal = 11059200
$baud = 9600
Dim Buf As String * 3 , Dim A As Byte
Do
Waitms 500
P1.5 = 0
Print "AT"
Input Buf Noecho
If Buf = "AT " Or Buf = "ok " Then
P1.5 = 0
Wait 1
P1.5 = 1
Wait 1
P1.5 = 0
Wait 1
End If
P1.5 = 1
Waitms 200
P1.5 = 0
Waitms 200
P1.5 = 1
Loop
End
Myślałem żeby może zrealizować to na przerwaniach ?? Następnie chcę program rozbudować żeby zależnie od stanu linii na poszczególnych wybranych portach wysyłał odpowiednie komendy do sterownika po rsie?? Bardzo proszę doświadczonych programistów Bascoma o pomoc