USART mehr als vier Zeichen auf einmal empfangen?!

Gast #313513
Lesenswert?
• ▲
▼
Hallo,

nach langen Probieren, habe ich es endlic geschaft mein LCD Display
anzusteuren, nun bin ich aber vor folgenden Problem:

Ich möchte gerne ganze Wörter via USART vom PC an den uC senden, dieser
soll dann diese Wörter auf dem LCD ausgeben.

Das ganze klappt wunderbar bei 4 Zeichen, sende ich nun mehr als 4
Zeichen, z.B. Hallo via USART an den uC, so gibt dieser mir nur ein
HALO via USART zurück, ebenso wird auf dem LCD auch nur HALO
ausgegeben?! Wie schaffe ich es mehr als 4 Zeichen einzulesen und zu
verarbeiten, kann es sein dass der interne Buffer vollläuft? Wenn ja
wie behebe ich diese Problem?

Außerdem hätte ich eine Frage bzgl. zu folgenden C-Syntax:
Wenn ich einen String mit 'string' übertrage bekomme ich nix
gescheides, wenn ich aber mit "string" übertrage, wird der String
korrekt angezeigt. Was sagt das Zeichen ' aus???


Danke im voraus....
Gast #313514
Lesenswert?
• ▲
▼
bei "string" wird automatisch ein endcharacter "\" zum schluss des
strings eingefügt. mit '...' kannst du glaube einzelne Zeichen, ohne
endcharacter zuweisen...

zu der anderen usart geschichte gabs glaube ein paar threads, wo er
bestimmte, letzte zeichen "verschluckt" hat... musst mal suchen...
Gast #313516
Lesenswert?
• ▲
▼
Wenn er "HALO" statt "HALLO" ausgibt, liegt es wohl kaum am
String-Endezeichen. Da ist der Hund im Programm selbst begraben.
Ringpuffer hilft.
Der interne Puffer hat eine Tiefe von ganzen ZWEI Bytes (beim AVR).
Liegt wohl am Programm...(ich widerhole mich...)
Gast #313517
Lesenswert?
• ▲
▼
@Rahul:
ging ja auch um diese frage von ihm:
"Außerdem hätte ich eine Frage bzgl. zu folgenden C-Syntax:
Wenn ich einen String mit 'string' übertrage bekomme ich nix
gescheides, wenn ich aber mit "string" übertrage, wird der String
korrekt angezeigt. Was sagt das Zeichen ' aus???"

was mich irritiert ist, dass er anscheinend ein zeichen aus der mitte
rauslässt und nicht zB das letzte, oder das erste wegfällt...

Antwort schreiben

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.

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.