hmmm ... ganze Strings .... ja klar, über INPUT
aber ... die Kiste hängt dann in der Programmzeile fest
bis die Eingabe auch wirklich beendet ist.
Das ist nicht gerade eleganter PRogrammierstil, aber es funktioniert.
eleganter gehts über den sog. Ringspeicher und Interrupts.
dim empfangstring as string * 20 ' für z.B. 20 Zeichen zu empfangen
dim empfangbytes(20) as byte at empfangstring overlay
dim zaehler as byte
zaehler=1
dim flag as byte
flag=0
on urxc zeichenempfang:
enable urxc
enable interrupts
do ' Hauptprogrammschleife
if flag=1 then
' Hier kommt dann die Stringverarbeitung rein.
endif
loop
zeichenempfang:
empfangbytes(zaehler)=udr
if empfangbytes(zaehler) = 13 then ' Bei Enter Taste Verarbeitung starten
flag=1
endif
incr zaehler
return
end
Diese Methode hat den Vorteil, das ausserhalb des Zeichenempfangs der Controller noch andere Geschichten machen kann und Programmspeicher wird auch geschont damit.
Lesezeichen