![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
' =========================================================================== ' Demoprogramm: Timeout für GET an der Seriellen Schnittstelle ' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 18. September 2023 ' =========================================================================== ' Dieses Programm demonstriert, wie Daten von der Seriellen Schnittstelle ' per GET gelesen werden können. Werden für eine genau definierte Zeit keine ' Daten empfangen, tritt ein Timeout auf und das Lesen wird abgebrochen. ' Wenn das zurückgelieferte Byte gleich 0 ist, trat ein Timeout auf. ' --- Definitionen ---------------------------------------------------------- INCLUDE "omax.def" 'Definitionen für die Open-Maxi DIM ende WORD 'für überlauftolerante Timerabfrage DIM databyte BYTE 'BYTE von der Seriellen Schnittstelle DIM a,b,c BYTE 'temporäre Variablen ' --- Hauptprogramm --------------------------------------------------------- PrintSpc=ON 'Bei PRINT dezimale Zahlen mit führendem Leerzeichen ausgeben End2Host=ON 'Bei Programmende (siehe END) gleich in den Host-Modus wechseln ?"Timeout für GET an der Seriellen Schnittstelle" REPEAT ?"Bitte Taste drücken. Ende mit 'x'." b=GETmitTimeout IF b=0 THEN ?"Timeout!" ELSE ?"Empfangen wurde das Byte"b"." END IF UNTIL b=ASC("x") ?:?"Programmende." END 'Zurück in den Hostmodus. Neustart mit RETURN-Taste. ' --- Subroutinen und Funktionen -------------------------------------------- ' Timeout für GET der Seriellen Schnittstelle FUNCTION GETmitTimeout databyte=0 ende=TIMER+100 '2 Sekunden Timeout WHILE ende-TIMER>0 AND NOT RXD ' PAUSE 1 'bei Bedarf Strom sparen WEND IF RXD THEN GET databyte RETURN databyte END FUNCTION ' --- Programmende --------------------------------------------------------- Passender Link: Infosite zu den OM-Mikrocontrollern Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |