Xeus
04.11.2005, 08:07
Hallo,
hat einer von euch vielleicht eine idee wie ich in meinem code eine art "polling" einbauen kann?
mein mc sendet eine anforderung und wartet auf eine antwort, nur kann es auch sein, dass er keine antwort kriegt. Dann soll er 'incr Adr' und die routine von vorne starten.
hab jezt schon sehr viel ausprobiert von interrupts bis ischarwaiting, aber irgendwie funzt es nicht.
Sub Wr_sende
Gosub Crc
Gosub Wr_inits
Printbin Wr_pakets(1) ; 10 'Paket wird gesendet
Return
End Sub Wr_sende
'Antwort von Wr empfangen
Sub Wr_empfange
' Call Wr_inite
Inputbin Wr_pakete(1) , 8 'Bytes werden eingelesen
Gosub Mc1_sende
Return
End Sub Wr_empfange
'Statusabfrage
Sub Wr_getstate
Value = 1
Wr_anzahl = Wr_anzahl + 1
Adr = Wr_anzahl
For Adr = 2 To Wr_anzahl
Command = 50 'Command für Statusabrfrage
Adr = Adr
Command = Command
Par1 = 000
Par2 = 032
Par3 = 032
Par4 = 032
Par5 = 032
Par6 = 032
Par7 = Bcclo
Par8 = Bcchi
'//UNTERPROGRAMME
Gosub Wr_inits
Gosub Wr_sende
Gosub Wr_empfange
Wait 3
Next Adr
If Adr = Wr_anzahl Then
Adr = 2
End If
Return
End Sub Wr_getstate
gruß
xeus
hat einer von euch vielleicht eine idee wie ich in meinem code eine art "polling" einbauen kann?
mein mc sendet eine anforderung und wartet auf eine antwort, nur kann es auch sein, dass er keine antwort kriegt. Dann soll er 'incr Adr' und die routine von vorne starten.
hab jezt schon sehr viel ausprobiert von interrupts bis ischarwaiting, aber irgendwie funzt es nicht.
Sub Wr_sende
Gosub Crc
Gosub Wr_inits
Printbin Wr_pakets(1) ; 10 'Paket wird gesendet
Return
End Sub Wr_sende
'Antwort von Wr empfangen
Sub Wr_empfange
' Call Wr_inite
Inputbin Wr_pakete(1) , 8 'Bytes werden eingelesen
Gosub Mc1_sende
Return
End Sub Wr_empfange
'Statusabfrage
Sub Wr_getstate
Value = 1
Wr_anzahl = Wr_anzahl + 1
Adr = Wr_anzahl
For Adr = 2 To Wr_anzahl
Command = 50 'Command für Statusabrfrage
Adr = Adr
Command = Command
Par1 = 000
Par2 = 032
Par3 = 032
Par4 = 032
Par5 = 032
Par6 = 032
Par7 = Bcclo
Par8 = Bcchi
'//UNTERPROGRAMME
Gosub Wr_inits
Gosub Wr_sende
Gosub Wr_empfange
Wait 3
Next Adr
If Adr = Wr_anzahl Then
Adr = 2
End If
Return
End Sub Wr_getstate
gruß
xeus