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...)
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.