Bascom Frage

Gast #71644
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
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
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
Hallo,

ich kenne zwar BASCOM auch nicht so genau, wie sieht es denn mit
"freien" Sprungmarken aus:

z.B.

W1:
A = A + 1

print a

goto w1



Gruss
A. Arndt
Gast
Hi,

$regfile = "8535def.dat"

$baud = 9600
$crystal = 4000000

Dim S As String * 8
ECHO ON
DO
Input S
LOOP
End


Mit diesem Prg siehtse was du eintippst.


Mfg

Dirk
Gast
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.