Usart bei Mega32 mit Interrupts

OP #576493
Lesenswert?
• ▲
▼
ich habe jetzt auf dem Mega32 für die USART Kommunikation je einen 
Puffer für Senden und Empfangen programmiert. Beim Empfangen ist alles 
klar. Aber wenn ich ein Byte in den Puffer schreibe, dann wird dieser 
noch nicht gesendet. Wie kann ich da das Senden anstoßen? Die Folgebytes 
werden durch das Senden-Data-Empty Interrupt und noch nicht leerem 
Pufferspeicher gesendet. An sich müßte ich die Interruptfolge beim 
ersten Senden aufrufen, nur am Ende steht Reti und das geht sicherlich 
nicht in einem normalen Unterprogramm.
Wird der Interrupt bei leerem Datenregister vielleicht periodisch 
aufgerufen? Und wie oft?

Was bedeutet Senden-complett Interrupt bzw. wofür könnte ich das 
gebrauchen? Aus dem Datenblatt kann ich das nicht so gut verstehen. Wenn 
das Datenregister leer ist, dann ist doch das Senden beendet oder nicht?

mfg

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.