-
-
Erfahrener Benutzer
Robotik Einstein
Die Zeit, in der eine Antwort kommt ist ja in etwa voraussehbar.
Du kannst ja nach dem PRINT eine Pause einlegen und den Empfang per Interrupt machen. In der ISR kannst du ja ein Bit setzen, wenn was empfangen wurde.
Nach der eingelegten Pause, die ja evtl durch den INT unterbrochen wurde kannst du ja das Bit auswerten und siehst, ob Daten empfangen wurden.
Wenn ja, dann mit den daten machen, was mit ihnen zu machen ist.
Wenn nein, dann LOOP
Oder von Anfang an LOOP UNTIL STATUSBIT = 1
Wenn es nicht 1 ist, wird weiterhin gesendet und eine Pause gemacht bis das Bit 1 ist.
Wenn es dann 1 ist, wird Do LOOP sowieso verlassen und der Code ausgeführt, der danach kommt. Und das könnte dann der Code sein, der die Empfangenen Daten verarbeitet.
Und in der Schleife kannst du noch einen Zähler einbauen, um z.B. maximal 10 mal zu versuchen was zu senden/empfangen.
Ich hoffe du kannst in etwa nachvollziehen, was ich meinte.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen