PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kommunikation über UART - Problem



filth
06.09.2009, 11:52
Hallo,

ich habe Schwierigkeiten über UART mit dem STI100 USB-Interface zu kommunizieren.

Meine Schaltung sieht so aus:

Pollin AVR Board --> STI100

Ich probiere einfach nur ein "DIR" zu senden. - Mache ich es über hterm / rs232 Schnittstelle, dann funktioniert es einwandfrei.

Versuche ich den gleichen Befehl per µC zu senden, bekomme ich "Bad Command" als Antwort vom STI.
Mein Testprogramm:


$regfile = "M8def.dat"
$crystal = 16000000
$hwstack = 100
$swstack = 100
$framesize = 100
$baud = 9600

Waitms 50


Print "DIR"
Print Chr(&H0d)


End




End

Jemand eine Idee woran es liegt?

PicNick
06.09.2009, 13:12
Dann schreib doch einfach

PRINT "DIR"

und aus

filth
06.09.2009, 13:19
Hi,

sorry, habe oben falsch kopiert - das kann natürlich erst recht nicht funktionieren.

Print "DIR"

habe ich schon ausprobiert - mit dem gleichen Effekt. "Unknown Command". Sende ich DIR <cr> im hterm klappt es einwandfrei.

Mittlerweile bin ich komplett ratlos ?!

filth
06.09.2009, 14:14
Ich habe nochmal die Ausgabe von


$regfile = "M8def.dat"
$crystal = 16000000
$baud = 9600

Waitms 50

Print "dir"

End

An hterm schicken lassen. Dabei fällt auf, dass folgendes gesendet wird:

\0dir\r
\n

Kann es sein, dass das STI100 wegen dem \0 vor "dir" rumzickt?

Besserwessi
06.09.2009, 15:11
Funktioniert den die Kommunikation vom Pollin Baord zur PC ?

Dann wüste man schon mal das die Hardware und der Takt stimmen.

filth
06.09.2009, 16:31
Ja, Kommunikation Board --> PC funktioniert einwandfrei.
Die Kommunikation PC --> RS232 vom Board (ohne µC) --> STI100 funktioniert ebenfalls problemlos.

Nur die Kommunikation µC --> STI100 will nicht.

PicNick
06.09.2009, 17:10
Also, das "\0" vor dem "DIR" mag er ganz bestimmt nicht,

Wundert mich nur, wo das herkommt, denn bei
PRINT "DIR"
schickt bascom normalerweise
"DIR<CR><LF>"
auf die Reise, also genau das, was man erwarten würde.

filth
06.09.2009, 17:16
Hmm aber wie wird man das "null" nun los?

Hier ein Screenshot und das Programm:

$regfile = "M8def.dat"
$crystal = 16000000

$baud = 9600

Waitms 500


Print "TEST"


End