Probleme mit UART

Gast #177496
Lesenswert?
• ▲
▼
Bevor jetzt einige wieder schreiben: "Benutz die Suchfunktion" (habe
ich getan, war aber nicht das dabei was ich Suche) oder etws in der
Richtung, wartet kurz und lasst mich die Sache darstellen.

Per UART Daten über RS232 senden funktioniert prinzipiell.(wass will er
dann noch.....?)

Das problem ist, das ich fprintf (oder printf) brauche um ein Display
anzusteuern. Vom PC aus kein problem, da funktioniert es mit
...
fprintf(stdaux,"\x1bZL%c%c%s\x00",7,3,"Test");
(anweisung für Zeichenfolge linksbündig + x-y-Position auf dem
Display)
...
Wie mache ich jetzt meinem 90s8535 mit WinAVR klar das er diesen
Ausdruck
per UART senden soll. Mein Code ist im Anhang. Versuche seit 4 Tagen
alles was mir nur einfällt. Nur der richtige "Trick" ist noch nicht
dabei gewesen.... Wenn es ohne fprintf geht bin ich auch nicht böse
g.
Ich hoffe das einer von Euch den Stein der Weisen hat....

Gruß und Danke für Eure Hilfe!
Danny

P.S. TAR.c wie Technikerarbeit (nur nebenbei...)
Angehängte Dateien:
Gast #177497
Lesenswert?
• ▲
▼
Hallo,

zuerst mußt Du einen stream öffnen. In der Doku zu WinAVR ist das
eigentlich gut beschrieben.

  fdevopen(uart_put, NULL, 0); //stdout

uart_put() ist eine Funktion mit der ein einzelnes Zeichen verschickt
wird.

Text kannst Du dann zB mit

  printf("Wert: %u", var);

oder

  printf_P(PSTR("Wert: %u"), var);

aussenden.

Die richtige Library muß natürlich auch dazu gelinkt werden. Siehe
Doku.

Volkmar
Gast #177498
Lesenswert?
• ▲
▼
Danke für die Hilfe, aber ich habs heute hinbekommen....
Mein Problem war nicht das \x1b sondern das \x00. Das \x1b braucht
das
Display damit es weiß, wann ein Befehl kommt und das \x00 markiert
das
Befehlsende. Hab dann einfach so gelöst:
   ...
   {uart_send("\x1bZL%c%c%s",7,3,"TEST");     (OHNE \x00!!)
   loop_until_bit_is_set(USR, UDRE);
   UDR=0x00;
   ...
Damit funktioniert es.
Danke für die Hilfe!

Gruß Danny

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.