Gast
#1648558
Hallo Leute, Kann mir einer sagen ob und was ich bei unten stehendem Code falsch gemacht haben könnte? - Habe in AVR-Studio den Timer auf 1.000.000hz gestellt - Prescaler auf 64 ergibt für den 16bit TCNT1 nen Wert von 15624. - sprich der timer soll bei 1sek. 1hz. reagieren. 1. Frage: meine Led bei PC5 blinkt schneller als ich für 1sek. vermuten wurde. sieht für mich eher nach 500ms aus?! 2. Frage: kann es sein das der Timer beim Atmega8 NUR für PB2 gilt? also dort wo auch tatsächlich der Timer liegt? #include <avr/io.h> int main (void) { DDRB |= (1 << PB2); // Set Motor as output DDRC |= (1 << PC5); // Set LED as output TCCR1B |= (1 << CS10) | (1 << CS11) ; // Set up timer with // a prescaler of 64 for (;;) { // TCNT1 as 16bit can only count to 65535! if (TCNT1 >= 15624) //15624 is 1 count of the actual //clock at 1Mhz = 1ms { PORTB ^= (1 << PB2); // Toggle Motor PORTC ^= (1 << PC5); // Toggle LED TCNT1 = 0; // Reset timer value } } } Bin Euch für jede Antwort dankbar... Gruß R.