Hallo Marius,
ich habe etwas ähnliches auch schon gemacht.
Dazu musst du aber Hardware UART benutzen.
Mit einem geeigneten Quarz, kannst du die Baudrate
dann auch auf 115200 setzen.
Damit kannst du den kompletten String vom PC an den Controller schicken, ohne das etwas verloren geht.Code:$regfile = "m8def.dat" $crystal = 8000000 $baud = 38400 '0,16% Fehlerrate bei 8 MHz On Urxc Empfang 'ISR Empfangsroutine Enable Urxc Enable Interrupts Dim Befehl As String * 15 , Para As String * 4 , Parameter As Integer Dim E_byte As Byte , E_flag As Byte Do If E_flag = 3 Then 'Empfangsstring komplett Parameter = Val(para) 'aus String Integer machen Print "Befehl: " ; Befehl ; " - " ; "Parameter: " ; Parameter Befehl = "" 'Befehl löschen Para = "" 'Parameter löschen E_flag = 0 'Empfang neu setzen End If Loop End Empfang: E_byte = Udr Select Case E_byte Case 35 : E_flag = 1 '"#" = Befehl kommt Case 44 : E_flag = 2 '"," = Parameter kommt Case 13 : E_flag = 3 '"ENTER" = Empfang komplett Case Else:If E_flag = 1 Then Befehl = Befehl + Chr(e_byte) If E_flag = 2 Then Para = Para + Chr(e_byte) End Select Return






Zitieren


Lesezeichen