www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA16 Bufferproblem


Autor: Streff John (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich habe ein Programm geschrieben für den ATMEGA16L
Ich lese den String bis LF ein. Das LF wird richtig erkannt.
Was mir ein Rätsel ist: bei "print buffer" wird das LF nicht mit
aus-
gegeben, kommt aber beim nächsten "print string" als erstes Zeichen.
Wenn mir jemand weiter helfen könnte, wäre ich sehr dankbar.

MfG John

dim buffer as string * 30

do

buffer=""

wait rec:
if usr.7=0 then
goto waitrec
endif


if udr<>10 then          ' LF
buffer=buffer+chr(udr)
goto waitrec
else
buffer=buffer+chr(udr)
endif

print buffer;

loop

end

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ";" nach "print buffer" weglassen?
(Mein Basic-know-how ist allerdings etwas eingerostet)

Autor: Streff John (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich auch versucht. Das empfangene String endet mit CR LF.
wenn ich z.B. als letzte Zeichen !* sende und LF mit * wechsle. wird
bis ! ausgegeben. Der * erscheint wieder beim nächsten gelesenen string
als erstes Zeichen.

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist mir heut auch aufgefallen. Irgendwie komisch. Hab mir dann noch ne
sub gebastelt, die rxc wieder resettet und damit dann den buffer
loescht. Seitdem gehts:


sub udrflush
dim dummy as byte
    do
      dummy=udr
    loop until ucsra=0
end sub

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahrg, ich meinte natuerlich loop until ucsra.rxc =0

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.