Hast du 2 Hardware UART? Wenn ja, dann mitarbeiten.Code:If Ischarwaiting(x) = 1 Then
Hast Du nur einen, dann einmal mit ischarwaiting und 1mal mit Interrupt den SoftUART einlesen.
Mit ischarwaiting ist mir noch nichts verloren gegangen.
Codeausschnitt aus einem meiner Projekte (X300T Frontend):
Code:Config Serialin = Buffered , Size = 88 'wohl überdimensioniert Enable Interrupts Do Gosub Infrarot If Anders1 = 1 Then 'Laufschrift Timer hat ausgelöst oder Text hat sich geändert Anders1 = 0 Gosub Lauftext Gosub Discanimation 'Drehendes Discsymbol animieren End If If Anders3 = 1 Then 'Zahlen empfangen, diese auf dem Display anzeigen Anders3 = 0 Gosub Zahlen End If Gosub Buttons If Ischarwaiting() = 1 Then Gosub Empfangen End If Loop End Empfangen: B = Inkey() If B >= 13 Then 'Alles kleiner 13 wird abgeschnitten If B = 13 Then Gosub Auswerten Else If Len(seingang) < 53 Then Seingang = Seingang + Chr(b) Else Seingang = "" Print "ERROR: COM Overflow..." End If End If End If Return Auswerten: 'hier wird der Eingang abgearbeitet. return







Zitieren

Lesezeichen