Quarzoszillator und richtige Prozessorfrequenz

OP #3091883
Lesenswert?
• ▲
▼
Erstmal vorweg, ich bin absoluter Neuling in Sachen Mikrocontroller, 
deshalb bitte ich auf einem einfach Niveau zu antworten.
Also es handelt sich um ein Fach in der Uni, worin wir ein kleines 
Betriebssystem umsetzten müssen. Aufgrund einiger Fehlversuche habe ich 
mich jetzt entschlossen, das Board, welches sie benutzten nach zu bauen. 
So weit hat auch alles geklappt. Bis auf:

In der Schaltung wird ein Quarzoszillator mit einen Atmega644 verwendet.
Der Quarzoszillator: 
http://www.reichelt.de/Oszillatoren/OSZI-20-000000/3/index.html?;ACTION=3;LA=446;ARTICLE=13694;GROUPID=3174;artnr=OSZI+20%2C000000

Zu dem habe ich mich ins Thema Fuse eingelesen und habe mich für die im 
Anhang angehängte Konfiguration entschieden.

Dann ein kleines Bekanntes Testprogramm verwendet:
1
 
2
#define F_CPU 20000000UL 
3
#include <avr/io.h> 
4
#include <util/delay.h> 
5
#define LED_DDR  DDRB  
6
#define LED_PORT PORTB 
7
#define LED      PB0 
8
int main(){ 
9
   LED_DDR |=( 1 << LED ); 
10
   
11
   while( 1 ) { 
12
   _delay_ms( 1000 ); 
13
   LED_PORT |= ( 1<< LED ); 
14
   _delay_ms( 1000 ); 
15
   LED_PORT &= ~( 1 << LED ); 
16
   }
17
 
18
 }

Das Problem ist jetzt aber, das die LED nicht im Sekundentakt, sondern 
ca. im 8 Sekundentakt an bzw. aus geht.

Verringere ich die  F_CPU um eine 10er Potenz auf 2000000UL Scheint es 
eine „richtige“ Frequenz zu geben. Aber warum? Welche Einstellung liegt 
hier denn noch quer.

ps. Ich benutze das AVR-Studio 4(Schrecklich, aber die Uni will das so!) 
Und einen AVRISP mkii Programmer, falls wichtig ist.
Pps. Das der  Quarzoszillator richtig angeschlossen ist, davon geh ich 
aus, denn der kriegt ja ein Takt. Ansonsten Halt nur am XTAL1 
angeschlossen, XTAL2 ist unverbunden.

Ich hoffe mein Fehler ist nicht ganz zu blöd, aber ich hab lange gesucht 
und viel Probiert, aber nichts hat geholfen.
Angehängte Dateien:

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