Problem mit Taktfrequenz vom Atmega

Gast #4715793
Lesenswert?

Hallo liebes Forum,

ich habe gerade ein kleines Problem,
ich arbeite zum erstem mal mit einem Atmega328-PU.

Ich möchte ihn mit einem 20MHz Quaroszillator betreiben.
Dazu habe ich die Fuses umgestellt. Da ich den µc immer noch
über den ISP ansprechen kann, vermute ich mal, ich war damit 
erfolgreich...

Das Low Fuse liegt bei 0x7F.


Soweit sogut ich wollte für den anfang einfach mal eine LED Toggeln:
1
#define F_CPU 20000000UL       //Taktfrequenz 20MHz
2

3
#include <avr/io.h>
4
#include <util/delay.h>
5

6

7
int main(void)
8
{
9
  DDRD =0x00;
10
  DDRD |= (1 << PIND2);
11
  PORTD = 0x00;  
12
  
13
    while(1)
14
    {
15
    PORTD ^= ( 1 << PIND2 );  
16
    _delay_ms(500);
17
    }
18
}

nun zu meinem Problem, eigentlich sollte doch nach meinem Verständniss 
die LED nach 0,5s getoggelt werden.
Allerdigs erfolgt der toggel erst nach 5 sekunden.
Was mach ich falsch, oder habe ich einen totalen Denkfehler.
Komm da grad nicht drüber weg.

Vielen Dank schonmal im Vorraus.
LG Sven

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren