Alojs82
1
Prosím už poraďte mi nemohu rozchodit přerušení způsobené detekcí náběžné nebo sestupné hrany va vstupu ICP1
Nastavení casovače1 a vstupu ICP1
DDRB=0B00000110; // B0nastaven jako vstup
TIFR |= 1<<ICF1; //zapíná preruseni pro ICP1
TCCR1B |= (1<<ICES1) | (1<<ICNC1); //asi sestupná hrana ICP1, a zapnout vstupni filtr
TCCR1B |= (1<<WGM13) | (1<<WGM12); // Mod nastaven na 13
TCCR1A |= 1<< WGM10;
TIMSK |= 1<< TICIE1;
a přerušení
ISR (TIMER1_CAPT_vect) {
}
děkuji nevím kde co dělám špatně
piityy
2
TCCR1B:
Input Capture Noise Canceler enabled: ok
Input Capture Edge Select: rising edge
TCCR1B + TCCR1A:
timer mode: 13 // zkus nějaký implementovaný mód (kterýkoli jiný)
timer clk source: no clock // zkus timer spustit jesli to nepomůže
TIFR:
nemá na starosti aktvaci/deaktivaci přerušení, pouze detekci, nic se zde nenastavuje, pouze lze vynulovat příznak.
TIMSK:
“Timer/Counter1, Input Capture Interrupt Enable”, ok
“TIMER1_CAPT_vect” - ok
Máš povolena přerušení globálně? (pomocí “sei()”)
Alojs82
3
Jste machr, chybělo mi: povolit přerušení globálně (pomocí “sei()”)
DĚKUJU!