datatom
19.08.2011, 01:21
Hallo zusammen,
ich sende in einem Programm ständig Daten vom PC zum Controller und wieder ständig zurück. Das Senden vom PC zum Controller klappt wunderbar. Die Daten kommen auf dem Controller an und werden 1:1 zurück zum PC geschickt. Es kommen auch Daten am PC an, allerdings nicht in der richtigen Länge. z.B.: Ich sende den Wert "327LX" vom PC zum Controller. Nun erhalte ich den Wert "LX327L" zurück.
Das senden vom Controller zum PC erfolgt in der do-Schleife, also ständig. Ich kann den vom Controller gesendeten Wert nicht exakt auf dem PC greifen.
Die Länge des zu sendenden Wertes ist variabel zwischen 1 und 8 Zeichen lang.
Controller-Programm:
$prog , 255 , &B11011100 , '&B11011001 , 'Quarz an / Teiler aus / Jtag aus
$regfile = "m2560def.dat"
$hwstack = 82 '80
$framesize = 68 ' 64
$swstack = 68 '44
$crystal = 16000000 'Quarzfrequenz
Config Pind.5 = Output
Led Alias Portd.5
$baud = 19200
'Config Com1 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Config Com2 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com3 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Config Com4 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Open "com1:" For Binary As #1 'RS232
'Open "com2:" For Binary As #2 'RS232
Open "com3:" For Binary As #3 'RS232
'Open "com4:" For Binary As #4 'RS232
'Dim Eingabe As Byte
Dim Eingabe As String * 10
Dim Ausgabe As String * 10
Config Porth = Output
Out1 Alias Porth.0
Out2 Alias Porth.1
Out3 Alias Porth.2
Out4 Alias Porth.3
Out5 Alias Porth.4
Out6 Alias Porth.5
Out7 Alias Porth.6
Out8 Alias Porth.7
Led = 0
Do
Input Eingabe
Print Eingabe
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Loop
End
Hat jemand eine Idee woran das liegt?
Vielen Dank und Grüße
datatom
ich sende in einem Programm ständig Daten vom PC zum Controller und wieder ständig zurück. Das Senden vom PC zum Controller klappt wunderbar. Die Daten kommen auf dem Controller an und werden 1:1 zurück zum PC geschickt. Es kommen auch Daten am PC an, allerdings nicht in der richtigen Länge. z.B.: Ich sende den Wert "327LX" vom PC zum Controller. Nun erhalte ich den Wert "LX327L" zurück.
Das senden vom Controller zum PC erfolgt in der do-Schleife, also ständig. Ich kann den vom Controller gesendeten Wert nicht exakt auf dem PC greifen.
Die Länge des zu sendenden Wertes ist variabel zwischen 1 und 8 Zeichen lang.
Controller-Programm:
$prog , 255 , &B11011100 , '&B11011001 , 'Quarz an / Teiler aus / Jtag aus
$regfile = "m2560def.dat"
$hwstack = 82 '80
$framesize = 68 ' 64
$swstack = 68 '44
$crystal = 16000000 'Quarzfrequenz
Config Pind.5 = Output
Led Alias Portd.5
$baud = 19200
'Config Com1 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Config Com2 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com3 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Config Com4 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
'Open "com1:" For Binary As #1 'RS232
'Open "com2:" For Binary As #2 'RS232
Open "com3:" For Binary As #3 'RS232
'Open "com4:" For Binary As #4 'RS232
'Dim Eingabe As Byte
Dim Eingabe As String * 10
Dim Ausgabe As String * 10
Config Porth = Output
Out1 Alias Porth.0
Out2 Alias Porth.1
Out3 Alias Porth.2
Out4 Alias Porth.3
Out5 Alias Porth.4
Out6 Alias Porth.5
Out7 Alias Porth.6
Out8 Alias Porth.7
Led = 0
Do
Input Eingabe
Print Eingabe
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Led = 0
Waitms 10
Led = 1
Waitms 10
Loop
End
Hat jemand eine Idee woran das liegt?
Vielen Dank und Grüße
datatom