Hallo Leute!
Ich hoffe ihr könnt mir bei meinem seltsamen Problem helfen. Und zwar habe ich einen kleinen Ringbuffer in Bascom geschrieben der Datentelegramme einliest:
Code:
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 256
$swstack = 256
$framesize = 64
$baud = 19200
Dim Buffer(17) As Byte , Crc As Byte , Dummy As Byte , Dummy2 As Byte
Dim A As Byte , Z As Byte
Print "Start"
Do
Inputbin Dummy
For Z = 1 To 16 'Verschieben
Buffer(z) = Buffer(z + 1)
Next Z
Buffer(17) = Dummy
'Auswertung
For A = 1 To 9
If Buffer(a) = &H02 And Buffer(a + 1) = &H81 And Buffer(17) = &H03 Then
Crc = 0
Dummy = 7 + Buffer(a + 7)
If Dummy >= 8 And Dummy <= 15 Then
For Z = 8 To Dummy 'CRC berechnen
Dummy2 = Z + A
If Dummy2 <= 17 Then
Crc = Crc + Buffer(dummy2)
End If
Next Z
If Crc = Buffer(a + 2) Then 'CRC prüfen
Print "Empfangen"
End If
End If
End If
Next A
Loop
Leider resettet sich der Controller selbst wenn ich viele Daten schreibe!
Spannungsversorgung ist ok, keine Spannungseinbrüche o.ä.
Vielleicht wisst ihr Rat!
MfG,
Areopag
Lesezeichen