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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.