Liste der Anhänge anzeigen (Anzahl: 1)
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:
$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
[/code]