Hallo, ich habe ein kleines Problem mit dem Compare.. So weit, wie ich die TImer verstanden habe habe ich eine Clock sorce, einen prescaler und eine compare Funktion um eine 1/32 tel sekunde zu erzeugen. Mein versuch: Timer initalisieren: // Clock 32768Hz an TOSc1 / 2 //Timer2 Initalisieren Interupt jede Sekunde Externer Uhrenquarz ASSR = (1<<AS0); //Externer Takteingang TCCR0 = (1<<CS01); //16 Sampels / Sekunde OCR0 = 0x10; //Compare Register TCNT0 = 0x00; //The Timer/Counter TIMSK |= (1 << OCIE0); Int handler: SIGNAL (SIG_OUTPUT_COMPARE0) { temp_out = TCNT0; temp++; } was ich nun nicht verstehe ist, dass ich immer auf 2 sekunden komme (if (temp >= 31)) Aus irgend einem Grund loesst der compare nicht aus nur wieso??
Ahhh... er löscht bei einem int nicht gleichzeitig das TCNT0 Register.. muss ich das immer per hand machen??
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.