PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Input vs. Waitkey



Magier6
26.01.2008, 00:00
Nabend

Baue gerade an einem RS232 Converter, funzt so weit auch gut nur beim ansteuern ist mir was aufgefallen. Habe ein Mini-Test-Programm für den Terminal geschreiben, einfach zwei Status LEDs ein/aus. Geht perfekt, einfach eine

Input A

Select Case A

Abfrage, Null bedeutet Port Aus, Eins Ein... Naja Simpel halt.
Bin jetzt aber in Visual Basic Net umgestiegen, SerialPort öffen geht sehr schön aber wenn ich jetzt mit Write oder WirteLine etwas in den Port schreibe, reagiert der Microkontroller nicht. Nach langen hin und her bin ich darauf gekommen das es der "INPUT" Befehl in Bascom ist. Wenn ich stattdessen Waitkey benutze und damit die Variable fülle geht es.
Meine frage ist jetzt auf welches Zeichen wartet das Programm im MCU wenn ich INPUT benutze. Der Unterschied ist mir denke ich klar, Waitkey liest einfach alles.....
Habe in Bascom, MSDN und im Netz geschaut aber nicht schlüssiges gefunden. Es muß irgendein Escape Zeichen o.ä. geben.... Hat jemand nen Plan davon???

Grüße Magier

python_rocks
26.01.2008, 01:10
Hallo Magier6!

INPUT wartet entweder auf eines der beiden Steuerzeichen CarriageReturn (``chr(13)``) oder LineFeed (``chr(10)``) oder auf die Kombination aus beiden zusammen (``chr(13) & chr(10)``). Einfach mal ausprobieren.

vbCr, vbLf, vbCrLf

mfg
Gerold
:-)

Magier6
26.01.2008, 14:24
@python_rocks

DANKE!!!

Chr(13) das war es...
Falls jemand mal das selbe Problem hat, mit

Dim ob_Port As IO.Ports.SerialPort
ob_Port = New IO.Ports.SerialPort("Com1", 9600, IO.Ports.Parity.None, 8, IO.Ports.StopBits.One)
ob_Port.Open()
ob_Port.Write("1" & Chr(13))
ob_Port.Close()
Mit diesem Cod für Visual Basic Net(Framerwork 2 o.ö.), reagiert der Mikrocontroller wenn er mit "INPUT" auf eine Eingabe am UART wartet.

Grüße und schönes Wochenende...