UART Empfang mit AVR Atmega8

Gast #127078
Lesenswert?

Hi @all mal wieder ;)

habe mir jetzt einige Codes angeschaut was den Empfang per UART
betrifft. Ein zeichen zu empfangen und auszuwerten ok. Aber wie mach
ich es z.b. wenn ich mehrere Zeichen empfangen will und dann später
auswerten ?

Empfang durch Interupt & dann in einer Form eines Ringpuffers ?!

Nur wie ist der Ablauf des Ringpuffers das habe ich leider nach
anschauen der vielen Codes nicht wirklich verstanden, und abschreiben
ohne zu verstehen will ich nicht.

Währe vieleicht einer so freundlich und könnte mir das mit dem
Ringpuffer nochmal erklären ?

Gruß Dennis
Gast #127079
Lesenswert?

Ganz einfach, du nimmst dir einen Speicherbereich der von Adresse A bis
B geht.

Dann nimmst du zwei Zeiger, nennen wir sie X und Y. Dort steht eine
Adresse deines Speicherbereichs drin.

Dann schreibst du dir eine Funktion welche den Inhalt von X/Y lesen und
schreiben kann.

Dann eine weitere Funktion welche den Wert von X oder Y inkrementiert
und wenn der Wert B erreicht wird, wieder auf A setzt.

Und dann machst du dir noch ein paar Gedanken um ueberlauf, oder sagen
wir mal lieber ueberrundung und Endabfrage. :-]

Olaf

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