Hey! Ich habe momentan ein Problem mit einem Code und hoffe, hier kann man mir weiterhelfen! Wenn ich einen delay von 1000ms erzeugen will, dauert dieser 8000ms. Stelle ich die F_CPU auf 1 Mio (vorher 8Mio), dann sind 1000ms auch wieder 1000ms. Deutet für mich erstmal darauf hin, dass der CPU Takt nur 1 Mhz ist aber intern sollten ja eig. 8 Mhz am werkeln sein. Es handelt sich dabei um einen Atmel 168P. Wie kann ich sicher sein, dass der interne Takt wirklich mit 8 Mhz läuft? Das sollte vllt. noch wichtig sein:
1 | CLKPR = (0 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | ( 0 << CLKPS0); |
2 | |
3 | TCCR1A = 0x00; |
4 | TCNT1H = 0x00; |
5 | TCNT1L = 0x00; |
6 | |
7 | TCCR1B = (1 << ICNC1) | (1 << ICES1) | (0 << CS12) | (0 << CS11) | (1 << CS10); |
8 | |
9 | |
10 | OCR1AL = 0xFF; |
11 | OCR1AH = 0xFF; |