Hallo, ich habe bisher den System-Takt nur über FUSE-Bit (CKDIV8) eingestellt. Jetzt möchte ich aber den Takt per Software steuern. Der AVR (ATTiny2313) soll die ganze Zeit mit sehr niedriger Frequenz laufen, aber bei Bedarf Daten senden (mit Quarztakt - CKDIV8=0). Ich habe gelesen, dass sowas mit CLKPR gehen soll, aber leider läuft mein Beispielprogramm nur mit vollem Takt, egal welchen Wert ich für CLKPR angebe...
1 | #include <avr/io.h> |
2 | #include <util/delay.h> |
3 | |
4 | void main() |
5 | {
|
6 | CLKPR = 16; // Systemtakt-Teiler |
7 | |
8 | DDRB = 0b11111111; // Alle auf OUTPUT |
9 | while(1) |
10 | {
|
11 | PORTB = 0b00000000; // LEDs ON |
12 | _delay_ms(500); |
13 | PORTB = 0b11111111; // LEDs OFF |
14 | _delay_ms(500); |
15 | }
|
16 | return 0; |
17 | }
|
Woran kann das liegen ?