Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: Timeout für GET an der Seriellen Schnittstelle Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 18.09.2023 3:10)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
' ===========================================================================
' 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

Bisherige Antworten: