PC ->UART | Befehle schicken

Gast #367010
Lesenswert?
• ▲
▼
Hallo zusammen,

ich will das mein AVR es merkt wenn der PC per UART einen Befehl
schick.
Aber der AVR darf nicht darauf warten, sondern es mitbekommen wenn
etwas kommt. Ansonsten soll er am Hauptprogramm weiterarbeiten.
Wie macht ich das?


Und zweitens wie kann ich in der Methode SIGNAL (SIG_OUTPUT_COMPARE1A)
eine Methode ausführen die länger etwas macht ohne das
SIG_OUTPUT_COMPARE1A auf das ende der aufgerufenen Methode wartet
sondern einfach weiterzählt??

Danke
Gast #367011
Lesenswert?
• ▲
▼
1. per interrupt
2. indem du die langlaufende im main() ausfuehrst und dort auf ein flag
wartest, dass vom compare signal handler bei Bedarf gesetzt wird. Im
main kannst du entweder loopen oder den uC per sleep auf den naechsten
interrupt warten lassen.

Um beides gleichzeitig zu machen musst du im main() nach dem return vom
sleep() immer pruefen, von woher der IRPT kam (UART / compare) und die
entsprechende Aktion starten.
Gast #367012
Lesenswert?
• ▲
▼
danke für die Antwort!

Ich habe inzwischen die UART library von Peter Fleury gefunden.
Gibt es die library auch für die neueste WinAVR Version?
Weil beim kompielen kriege ich den Fehler:

      In file included from uart.c:26:
D:/WinAVR/avr/include/avr/signal.h:36:2: warning: #warning "This
header file is obsolete.  Use <avr/interrupt.h>."

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.