input capture Mega8

Gast #59720
Lesenswert?
• ▲
▼
Hallo liebe Leute,

nachdem bei meinem ATmega8 nun nahezu jede Peripherie
funktioniert, gibt es ein Verständnisproblem beim initialisieren
des T1 input capture modes. Das Handbuch sagt meines Erachtens nichts
darüber, wie man diesen Mode einschaltet.

void timer1_init(void) {    //Timer1

outp(0x01,   TCCR1B);                  /* Counter, ICNC1*/


....  ? ....


}


Was wäre denn hier noch zu setzen? TIMSK und TIFR sind klar.


Vielen Dank, viele Grüße
joh
Gast #59722
Lesenswert?
• ▲
▼
Ich habe für beide Flanken mal folgendes verwended:
TCCR1B |= _BV(ICNC1) | 2;
TIMSK |= _BV(TICIE1);
sei();

SIGNAL(SIG_INPUT_CAPTURE1)
{
        if (TCCR1B & _BV(ICES1)) {
                TCCR1B &= (uint8_t)~_BV(ICES1);
        } else {
                TCCR1B |= _BV(ICES1);
        }
}

Das Handbuch hat dazu ausgereicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren