Hi Leute
kann mir mal jemand sagen warum das so nich funktioniert?
Wenn ich das ganze mit dem Terminal Emulator von Bascom teste geht es zwar, aber die Variable Ar(5) bleibt leer, bzw verschiebt sich nach Ar(6)
Versuch ichs mit dem VB-Programm geht es beim 1. mal nach dem Reset und beim 2. mal wird das halbe Telegramm "verschluckt".
ich hock jetzt schon fast 2 Tage dran und bin jetzt voll am verzweifeln.
Hier mal das bascom-Programm und das VB-Programm als rar-Archiev:
[/code]Code:$regfile = "m32def.dat" $crystal = 16000000 'Quarzfrequenz $baud = 9600 Config Pinc.7 = Output Config Serialin = Buffered , Size = 30 Const My_adr = "mc1" Dim Ar(6) As String * 5 Dim Bcount As Byte Dim Telegramm As String * 30 Dim E_adr As String * 5 Dim E_aktion As String * 5 Dim E_typ As String * 5 Dim E_property As String * 5 Dim E_wert As String * 5 Dim E_check As String * 5 Dim I_wert As Integer Dim B_wert As Byte Dim I As Byte Enable Interrupts Print "Start" Portc.7 = 1 Sound Portd.7 , 400 , 450 Do 'get a char from the UART If Ischarwaiting() = 1 Then 'was there a char? Sound Portd.7 , 400 , 450 Input Telegramm Print "angekommen" 'nur zu testzwecken 'Portc.7 = 1 'Waitms 200 'Portc.7 = 0 'print it Bcount = Split(telegramm , Ar(1) , "!") 'Aufteilen des Telegramms auf Arryes 'Print Ar(1) If Ar(1) = My_adr Then E_adr = Ar(1) E_aktion = Ar(2) E_typ = Ar(3) E_property = Ar(4) E_wert = Ar(5) E_check = Ar(6) Else E_adr = "" E_aktion = "" E_typ = "" E_property = "" E_wert = "" E_check = "" End If End If If Len(ar(1)) > 0 Then For I = 1 To Bcount 'Telegramm und Arreys löschen Print Ar(i) ; I Ar(i) = "" Next End If Telegramm = "" Loop







Zitieren

Lesezeichen