Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer0... und ich komm garnicht mit klar
Ich möchte den Timer0 starten der dann nach einer Sekunde den Wert einer Variable setzt.(zB. B= 0) Dann soll der Timer anhalten, bis ich ihn ein weiteres mal starte. Leider komme ich mit den Einstellungen für 1 Sekunde überhaupt nicht klar. Kann mir vielleicht jemand einen Tip geben oder ein einfaches Beispiel ? Danke vorab !!!
So ungefähr könnte das gehen.
Die Timervorgabe und Prescale = 256 hängen natürlich von der Frequenz ab.
$crystal = 8000000
Config Timer1 = Timer, Prescale = 256
Const Timervorgabe = 34286
On Timer1 Timer_irq
Enable Timer1
Enable Interrupts
'Hauptprogramm
Do
If x=y
Timer1 = Timervorgabe
Start Timer
Endif
Loop
Timer_irq:
Stop Timer1
Toggle Led1
Return
Ich möchte den Timer0 starten der dann nach einer Sekunde den Wert einer Variable setzt.(zB. B= 0) Dann soll der Timer anhalten, bis ich ihn ein weiteres mal starte. Leider komme ich mit den Einstellungen für 1 Sekunde überhaupt nicht klar.
Das wundert mich nicht. Timer0 ist ein 8 Bit Timer. Um da tatsächlich auf eine Sekunde in einem Rutsch zu kommen, müsstest Du den µC mit höchstens 250kHz betreiben.
Schnappe Dir das Timerberechnungstool...
https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=169
... dann fällt das sofort auf.
Selbstverständlich kannst Du in in der ISR eine Variable inkrementieren, damit Du bei zb.B. 100 Hz Interruptfrequenz auf eine Sekunde kommst.
Frisch ans Werk :-)
Henrik
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.