mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART mehr als vier Zeichen auf einmal empfangen?!


Autor: Chris Lambert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In '' werden einzelne ASCII-Zeichen eingeschlossen, in "" ein String
mit Nullterminator (der also immer ein Byte länger ist, als die Anzahl
der übergebenen Zeichen!).

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...)

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 'string' kann man in C gar nichts übertragen, der Compiler sollte
beim Versuch, sowas zu übersetzen, eine Fehlermeldung ausgeben.

Wie wär's mit etwas Quelltext?

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.