mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8 Status/Pulse auswerten


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich möchte gerne mit einem ATmega8 den Statuspin eines Moduls auswerten.

Am Modul hängt normalerweise eine LED, die unterschiedliche Blinkfolgen 
ausgibt.

Beispiel:
LED blinkt im 1 Sekunden Takt
LED leuchtet 100ms, dann weniger als 10s Pause, dann wieder 100ms 
Leuchten
LED leuchtet 200ms, dann 200ms Pause, dann wieder 200ms leuchten

Wie kann ich das am besten mit BASCOM realisieren? Muss ich den Status 
auf einen bestimmten Pin des AVR legen (INT) ?

Danke schonmal.

Gruß,
Hans

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Zeiten sind lang genug, dass du softwaremässig keine allzugrossen 
Probleme bekommen wirst.
Je nachdem, was dein Mega8 noch zu tun hat, könnte daher einfaches 
Polling und Flankenerkennung in Software eine Lösung sein.
Du könntest auch das Signal an einen Interrupt Pin legen und dort die 
Zeiten auswerten.
Du könntest auch den Input Capture Pin benutzen und dir die Zeiten von 
einem Timer mehr oder weniger auswerten lassen.

Aber eines steht fest: Ohne einen Timer, der dein Programm mit einem 
Basistakt im Millisekundenbereich versorgt, damit du eine Zeitbasis 
hast, kommst du nicht weit.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort.

Timer werde ich sowieso für andere Programmteile auch verwenden.

Würde es funktionieren, wenn ich einen Pin abfrage und sobald dieser auf 
high geht eine Timervariable auf 0 setzte. Sobald der Pin wieder auf low 
geht schreibe ich den Inhalt der Variable in eine andere und Werte diese 
dann mit einer einfache if then Schleife aus.

Oder gibt es andere, bessere Wege um dieses Problem zu lösen?

Hans

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans schrieb:

> Oder gibt es andere, bessere Wege um dieses Problem zu lösen?

:-)

Die beste Lösung ist immer die, die du implementieren kannst.

Also rann ans Werk. Du hast eine Idee, setze sie um und sie nach ob sie 
funktioniert.

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.