Hallo zusammen,
Ich experimentiere das erste Mal damit ein PWM Signal einzulesen und
zwar mit Timer 1 und dem Input Capture Pin des ATMEGA16.
Ich hab mir also überlegt wie das gehen sollte und muss beim ersten Test
feststellen dass der Controller jetzt permanent resetet! Ich versteh nur
überhaupt nicht wie das gehen soll? Hier der Code dazu, hat jemand eine
Idee warum das passiert?
1 | int main(void)
|
2 | {
|
3 | init();
|
4 | sei();
|
5 |
|
6 | // Rauschunterdrückung (Bit7) und steigende Flanke (Bit6) erkennen und CPU-Takt / 8 (enstspr 0,57us)
|
7 | TCCR1B = 0b11000010;
|
8 |
|
9 | // Interrupt für ICP (Input Capture Pin) einschalten
|
10 | TIMSK = 0b00001000;
|
11 | (...)
|
Hier setze ich die Timer Register und in der ISR(TIMER1_CAPT_vect)
subtrahiere ich dann endwert und startwert.
Was kann also hier zu einem permanent auftretenden Reset führen???