hallo Michi (ich heiß übrigens auch so :-P )
also ich denke du hast nicht die C-Control 2 sondern die 1 (ist eigentlich eher Generation) weil du in basic programmierst.
also den input befehl kannst du vollig vergessen, weil er sich kaum auswerten lässt. besser ist da der befehl get, und put (von mir auch auch Print).
aber erstmal zum Put und Get.
mit den zahlen 0-255 definiest du eigentlich ein Zeichen, auch zeilenvorschub, escape, .... sind zeichen. einfach mal in google "Ascii Tabelle" eingeben.
Mal ein Beispielprogramm
<code>get 72 'sendet H
get 65 'sendet A
get 76 'sendet L
get 76 'sendet L
get 79 'sendet 0
</code>
genauso funtioniert es mit mit Put,
es wird allerdings immer nur ein Zeichen gelesen.
also der PC sendet <code>"HALLO"</code>, und du must 5 mal get benutzen.
ein <code>Print "AD1: ";port_ad1</code>
ist sinnvoll informationen lessbar im terminal auszugeben!
ein Print springt allerdings immer in die nächste zeile
meine erfahrung zeit ein handshake zeichen zu benutzen,
also in deinem fall nehmen wir ein "$" Zeichen her.
der PC sendet "$", mit get wird an der C-Control dann 36 emfangen
die C-Control sendet dann z.B. Print "HWOK" für Hardware ist da!
dann sendet der PC ein vordefinierten code, z.b. "e5Z"
dann 3 mal get in verschienden Vatiablen und dann zuweisen,
kleines beispiel:
<code>
#start
do
IF RXD THEN goto receiveddata
loop
#receiveddata
get handshake
if handshake <> 36 then goto start
Print "HWOK"
get a
get b
get c
byteport = a
DA1 = b
DA2 = c
goto start
</code>
das "IF RXD" frägt den ringpuffen nach einem vorhandenem byte ab und springt bei vorhanden in ein unterporgramm.
sonst wird die programmausführung am get angehalten.
ich geh jetzt ins bett gute nacht!
für mehr infos einfach posten!
gruß Michi
Lesezeichen