Bascom Frage

Gast #71644
Lesenswert?

Hallo,

habe jetzt mal folgenden Code aus der Hilfe von Bascom übernommen:

$regfile = "8535def.dat"

$baud = 9600
$crystal = 4000000

Dim S As String * 8

Input S
Print S

End


Wenn ich mit einem Terminalprogramm nun einen String aus 8 Zeichen
sende, dann sendet der AVR mir die 8 Zeichen auch zurück. wenn ich
jetzt nochmal 8 Zeichen sende,  passiert garnix. Wie kann ich in Bascom
die Zeichen nach dem "Print S" löschen, damit ich die nächsten 8 mit
dem Terminalprogramm senden kann ?

mfg Kay
Gast #71645
Lesenswert?

Du brauchst nichts zu löschen. "Input S" liest den Wert für S ja neu
ein. Was Deinem Programm fehlt, ist eine Schleife um Input und Print.
So werden die beiden Befehle nur einmal durchlaufen und dann wird das
Programm beendet. Ich kenne Bascom nicht näher, aber schau mal in der
Hilfe unter FOR, WHILE, REPEAT und GOTO nach. Irgendetwas davon wird
Bascom schon unterstützen.

Gruß, Frank
Gast #71646
Lesenswert?

Hallo Frank,

ich habe jetzt so ziemlich alle schleifen ausprobiert. Do ... Loop geht
nicht. mit For ... Next kann ich ja nur ne gewisse anzahl von Schleifen
machen. was ich brauche ist ja ne endlosschleife. dafür benutze ich
immer do ... loop , aber wie gesagt, das funzt net.

mfg Kay
Gast #71649
Lesenswert?

Hallo Dirk,

also bei mir hat das programm, welches du geschrieben hast, den
gleichen effekt, wie das programm, welches ich oben geschrieben habe.
ich seh immer nur die ersten 8 Zeichen die ich geschickt habe.

mfg Kay
Gast #71650
Lesenswert?

Hi,

bestaetigst du deine Eingabe auch mit "Return" ?
Eigentlich sollte angezeigt werden was du als letztes eingetippt hast.

Du kannst nochmal versuchen so den Stringinhalt in S zuloeschen
S = " "


Mfg

Dirk
Gast #71651
Lesenswert?

Hallo,
versuchs doch mal damit?

Heiz
------------------------
$regfile = "8535def.dat"

$baud = 9600
$crystal = 4000000

Dim S As String * 8
DO
   Input S
   Waitms 100
   Print S
LOOP
End
------------------------
Gast #71655
Lesenswert?

Hallo ,
vielleicht hast Du in der Compiler / Chip -
Einstellungen zu wenig Speicher reseviert
je nach Chip :

HW Stack 64
Soft Stack 16
Framesize 32

Ist manchmal schuld, für viele Fehler wo es
offensichtich keine Erkärung gibt,
ging mir auch erst wider mal so mit
dem Befehl Fusing !


Gruss

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren