Moin,
ich habe gerade ein Problem mit einem Timer (Timer0 8-bit) und dem
Compare. Ich möchte gerne den Timer im Prozessortakt bis 150 laufen
lassen, woraufhin ein Interrupt ausgelöst werden soll. Im Simulator
läuft es auch ganz gut, nur in der Realität nicht, da sieht es so aus,
als würde er immer bis zum Overflow, odre 0xFF laufen. Hier Mein Code:
1 | void init_timer0( void ) {
|
2 |
|
3 | TCCR0 |= (1<<CS00); // 8bit-Timer0 auf Systemtakt laufen lassen
|
4 | TIMSK |= (1<<OCIE0); // Interrupt für Timer0 anschalten
|
5 | OCR0 = 150; // Compare-Wert für Timer0
|
6 |
|
7 | }
|
8 |
|
9 | ISR(TIMER0_COMP_vect) {
|
10 | ...
|
11 | }
|
globale Interrupts sind natürlich aktiviert. Habt Ihr eine Idee, warum
das nur im Simulator läuft? An der Länge der ISR liegt es nicht, die
habe ich schon auf einen Takt runtergebracht...
MfG, und vielen Dank im Voraus!!!