mikrocontroller.net

Forum: Compiler & IDEs PC ->UART | Befehle schicken


Autor: Björn Oswald (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: The Daz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Björn Oswald (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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>."

Autor: Charles (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Signal.h braucht nicht mehr includiert werden.
Also, einfach die betreffende Zeile löschen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.