Forum: Mikrocontroller und Digitale Elektronik ATmega8 Status/Pulse auswerten


von Hans (Gast)


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

von Karl H. (kbuchegg)


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.

von Hans (Gast)


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

von Karl H. (kbuchegg)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.