Hallo, wer kann mir helfen
ich empfange verschiedene Strings über die serielle Schnittstelle (COMD.0) und immer wenn ein Zeichenempfang mit beginnend 35 kommt wird es vom attiny2313 bearbeitet (das funktioniert auch)
es soll aber zusätzlich alles was an
Open "COMD.0:9600,8,n,2" For Input As #1
ankommt, an
Open "COMD.2:9600,8,n,2" For Output As #2
durchgeschleift werden ohne Überprüfung
Daten die z.B ankommen können 27 255 64 3 0
kann mir bitte jemand einen Tip für die Routine geben
der Sinn darin liegt, von einem vorherigen MC werden Daten ausgesendet, ich möchte aber noch zusätzliche Signale von Tastern mit einschleusen in die RS232
Code:Do ' Mainloop, hier dreht der Controller seine Runden Tempbyte = Waitkey(#1) ' ware auf Zeichenempfang über Soft-UART Gosub Zeichenempfang ' gehe zu Zeichenverarbeitung If Flag = 1 Then ' Protokoll ist komplett ? Gosub Protox Flag = 0 ' Protokollflag wieder rücksetzen Zeiger = 1 Elseif Flag = 2 Then ' Protokoll ist komplett ? Gosub Protoy ' Protokoll abarbeiten Flag = 0 ' Protokollflag wieder rücksetzen Zeiger = 1 ' zeiger für Speicherung des nächsten eingehenden Zeichens rücksetzen End If Loop Zeichenempfang: 'Tempbyte = Udr Protokoll(zeiger) = Tempbyte ' empfangenes Byte in Protokoll ablegen If Tempbyte = 0 Then ' Protokollende erreicht Zeiger = 1 ' Protokollzeiger zurücksetzen End If If Protokoll(1) = 27 Then ' Wenn Protokollbeginn erkannt If Tempbyte = 0 Then ' und aktuell empfangenes Byte ist Protokollende Flag = 1 ' Protokollabarbeitung veranlassen End If Incr Zeiger ' sonst nächste Speicherstelle für Protokoll auswählen Elseif Protokoll(1) = 35 Then ' Wenn Protokollbeginn erkannt If Tempbyte = 0 Then ' und aktuell empfangenes Byte ist Protokollende Flag = 2 ' Protokollabarbeitung veranlassen End If Incr Zeiger Else Zeiger = 1 ' Protokoll wieder von vorne beginnen Timer0 = 0 ' Timer 0 resetten Start Timer0 ' timer 0 starten Enable Timer0 ' und Interrupt aktivieren End If Return End







Zitieren


Lesezeichen