Hallo,
ich bin beim Programmieren auf ein Problem gestossen, welches ich mir
nicht erklären kann. Würde es allerdings gern verstehen wollen.
Für mein STK500 habe ich folgendes programmiert: Ein Taster an PD0 wird
zyklisch abgefragt (gesteuert durch Timer2) und schaltet eine LED an PB0
ein und aus und setzt die Interuptfreigabe vom Timer0.
An der LED an PB1 wird die die Timer2 Frequenz ausgeben.Das klappt
immer.
Wenn ich den Prescaler von Timer0 auf 1/64 setze, klappt alles wie
gewünscht,
bei jedem Tastendruck wird die LED an PB0 getoggelt.
Setze ich den Prescaler an Timer0 auf 1/1024, funktioniert das nicht
nicht mehr. Die Led geht beim Tastendruck kurz aus und dann sofort
wieder an.
Und dieses Verhalten kann ich mir nicht erklären. Ich bin davon
ausgegangen, dass ein größerer Prescaler nur dazu führt, das der OCR0A
Interrupt von Timer0 seltener kommt. Und das sollte keine Auswirkung auf
das restliche Programm haben. Zumal der ISR dazu gar nicht programmiert
ist.
Aber irgendwas scheine ich zu übersehen bzw nicht zu wissen. Hat dazu
jemand eine Erklärung?
MfG Andre