Hallo zusammen
Ich arbeite mich gerade in das AVR-Studio 5 ein.
Ich habe dieses einfache Programm geschrieben:
1 | #include <avr/io.h>
|
2 |
|
3 | #define F_CPU 16000000UL
|
4 | #include <util/delay.h>
|
5 |
|
6 | //Makros für die Bitverarbeitung
|
7 | #define SETBIT(adr, bit) (adr |= (1<<bit))
|
8 |
|
9 |
|
10 | int main(void)
|
11 | {
|
12 | SETBIT(DDRC, DDB6); //Port Pin DC6 zum Ausgang machen
|
13 |
|
14 | int n =0;
|
15 |
|
16 | while(1)
|
17 | {
|
18 | SETBIT(PORTC, PORTC6);
|
19 | for (n=0; n<10; n++) _delay_ms(100);
|
20 |
|
21 | CLEARBIT(PORTC, PORTC6);
|
22 | for (n=0; n<10; n++) _delay_ms(100);
|
23 |
|
24 | }
|
25 | return(0);
|
26 | }
|
Die LED am Ausgang sollte also 1 Sek. an und dann
1. Sek. aus sein.
Ist sie aber nicht. Sie Blinkt (gefühlt) fünf
mal so schnell.
Der Controller (ATMega32U4) arbeitet mit 16MHz.
Ich vermute, dass ich dem Compiler im Studio 5
das anzeigen müsste, damit das Makro in "_delay"
die richtigen Schleifenwerte berechnet.
Im Studio 4 geht es ja wie im Anhang dargestellt.
Kann mir einer einen Tipp geben, was bei mir
falsch läuft oder wo ich die Einstellung finden kann.
Vielen Dank schon mal im voraus.