Verwendung von UART und stdio.h auf einem AVR

OP #891792
Lesenswert?

Hi!

Ich würde gerne ein paar Debugfunktionen in mein Programm integrieren, 
eventuell auch eine Möglichkeit, es über UART etwas zu steuern.

In meinem schlauen aber mittlerweile auch nicht mehr so brandaktuellen 
AVR Buch steht drin, dass man für Terminalfunktionen die stdio.h 
verwenden könne. Leider ist das darin auch recht schwammig thematisiert 
und im Internet finde ich nix gescheites darüber.

Kann jemand mal kurz erklären ob mir stdio.h Funktionen bereitstellt mit 
denen ich so ohne größere Hürden ganz einfach Sachen auf dem UART 
ausgeben kann?

lg PoWl
#891865
Lesenswert?

Du musst nur eine Methode bereitstellen, um ein einzelnes Zeichen 
rauszusenden. Die ist im einfachsten Fall ein Zweizeiler, den du direkt 
aus der Dokumentation rauskopieren kannst.

Wenn du mehr/andere Features brauchst, halt entsprechend 
umfangreicher... Bsp: einen Stream der über Ethernet/TCP ausgibt, 
Bufferung des UARTS, senden über IRQ usw.
Gast #891884
Lesenswert?

>Muss ich die selbst schreiben?

Nee. Du musst nur google intelligent anwenden, es gibt tonnenweise Code 
dazu im Netz (auch hier in der Codesammlung).

Aber was solls, hier z.B.
Beitrag "Fernbedien RC5 Empfänger"
ist eine minimal-uart-Augabe drin.

Zusammenbasteln musst du dir das aber schon selber.

Ausserdem: AVR-Programmieren, ohne das Datenblatt zu lesen, geht nicht. 
Auch wenn das alles auf English ist, würg dich da durch. Da gibt es auch 
Code-Schnipsel.

Oliver
#892242
Lesenswert?

Paul Hamacher wrote:
> sry, gerade das verstehe ich nicht. Ich sehe da keine Funktion wie
> uartinit(). Muss ich die selbst schreiben? Dann kann ich auch gleich
> alles selbst entwickeln ;-)

Ja, beim AVR muß man das selber machen. Der Grund sind die vielen 
verschiedenen Implementierungen (4 verschiedene Namen für den 
Empfangsinterrupt usw.).
Außerdem will der eine die UART mit Polling, der andere über Interrupts, 
der eine mit FIFO, der andere mit Linearpuffer, der nächste invertiert 
usw. usw.


Ich habe hier mal versucht die AVRs mit HW-UART zu erschlagen (als 
Interrupt mit FIFO):

Beitrag "AVR-GCC: UART mit FIFO"



Peter

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