PC ->UART | Befehle schicken

Gast #367010
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
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
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

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.