www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastenbehandlung


Autor: Stefan Gerber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,
ich versuche seit mehren Tagen einen Algorithmus zu finden mit dem ich 
folgendes Problem lösen kann.

Ich verwende die RC5 Routine von Peter Dannegger um einen kleinen Motor 
und mehrere Digitalausgänge anzusteuern.

Das setzen der entsprechenden Codes und Ausgänge funktioniert 
einwandfrei.

Aber um den Motor ansteuern zu können, muss PORTB oder PORTC 
entsprechend der Drehrichtung mindestens 0.5sec gesetzt werden.

Ich habe das ganze über ein Delay gelöst. Aber in dieser Zeit wird kein 
weiterer Code empfangen. D.h. kommt jetzt das gleiche Zeichen nochmal, 
werden die Ports erst zurückgesetzt und dann erneut gesetzt.

Um das zu vermeiden, würde ich gerne anders vorgehen.

Mein Grundgedanke wäre, ich setzt beim entsprechenden Code die 
dazugehörigen Ports und lösen einen Timer aus der 0.5sec läuft. Kommt 
der Code nochmal setzt ich den Timer zurück, kommt ein andere Code, 
setzt der Timer die Ports nach Ablauf der Zeit zurück und der Motor hält 
an.

Kann mir jemand bei dieser Umsatzung helfen, irgendwie übersteigt das 
bei weitem meine mageren Kenntnisse zum ATMega8.

Meine Fragen:

1. Wie starte ich einen Timer mit 0.5sec
2. Wie muss ich den Interupt für den Timer programmieren, sodaß er 
ausgelöst wird, wenn der Timer abgelaufen ist.

Meine Entwicklungsumgebung SiSyAvr, ATMega8 und C

Vielen Dank für jede Idee.

Gruß
Stefan

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Stefan Gerber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,
klappt hervorragend.

Danke und Gruß
Stefan

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.