Forum: Mikrocontroller und Digitale Elektronik Tiny85: Timer löst nicht aus


von Lorem (Gast)


Lesenswert?

Aus irgend einem Grund will der CTC-Timer (wie ich ihn sonst auch beim 
ATTiny2313 verwende) nicht auslösen; aber ich finde einfach die Ursache 
nicht.

Initialisierung:
1
    TCCR0A |= _BV(WGM01); //CTC
2
    TCCR0B |= _BV(CS02); //1:1024 clock
3
    OCR0A = 250; //31hz 
4
    TIMSK |= _BV(OCIE0A); //interrupt
5
    sei();

ISR:
1
ISR(TIMER0_COMPA_vect)
2
{
3
    bus_clk();
4
}

Ruf ich in einer Schleife bus_clk(); selber auf, geht alles - aber der 
Timer wird scheinbar nicht ausgelöst?

von max power (Gast)


Lesenswert?

>TCCR0B |= _BV(CS02); //1:1024 clock
ist 1/256.

was ist _BV?

von max power (Gast)


Lesenswert?

nachtrag:
>ISR(TIMER0_COMPA_vect)
ist das auch der richtige name für die isr?

von Lorem (Gast)


Lesenswert?

Sorry, ja, ist 256; spielt aber in diesem Fall keine Rolle - löst 
einfach garnicht aus.

_BV(x) = (1 << x)

Die ISR müsste gültig sein; ist Timer0 und Compare Match A; u nd der 
Compiler gibt keine Warnung aus, dass die Interruptroutine nicht 
existiert.

von Lorem (Gast)


Lesenswert?

Problem gelöst...Codeblocks hatte noch die Includes für den tiny2313 
geladen..

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