Probleme mit Quarz-Frequenz

Gast #2409739
Lesenswert?

Hallo zusammen,
ich habe ein kleines Problem mit den einstellungen der Quarz Frequenz.
Ich habe das Stk-500 Board und möchte einen Mega8 mit einem 4 MHz quarz 
betreiben.
Dazu habe ich einen 4MHz-Quarz an die passende Stelle gesteckt und den 
OSCSEL-Jumper auf die Pins 2-3 gesteckt.
Die Fuse-Bits habe ich auf EXTRCOSC_3MH-8MHZ Staruptime 18CK +4ms 
gestellt.
Wenn ich aber nun eine einfache Led in 1s intervallen blinken lassen 
möchte, blinkt sie schneller als sie sollte. Könnt ihr mir vielleicht 
helfen?
Was mache ich falsch?

Hier noch der c-Code:
1
#define F_CPU 40000000
2

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

6
int main()
7
{
8
  unsigned char i;
9

10
  PORTB = 0x00;
11
  DDRB = 0x01;
12

13
  while( 1 ) {
14
    PORTB ^= 0x01;
15
    for( i = 0; i < 50; ++ i )
16
      _delay_ms( 10 );
17
  }
18
}
Gast #2409961
Lesenswert?

Richtig und momentan ist die LED 2s an und 2s aus. Läuft also mit 1MHZ, 
also muss ich irgendwas falsch gemacht haben. Wenn ich den Quarz raus 
nehme, bleibt die Led im aktuellen Zustand... Hat jemand einen Tipp für 
mich?
Gast #2409978
Lesenswert?

> Wenn ich aber nun eine einfache Led in 1s intervallen blinken lassen
> möchte, blinkt sie schneller als sie sollte
[..]
> Richtig und momentan ist die LED 2s an und 2s aus.

Wie jetzt? Zu schnell oder zu langsam?

> #define F_CPU 40000000

40MHz?
Gast #2410065
Lesenswert?

Ich bemerke gerade das der Quarz immmernoch zu schnell läuft... Er läuft 
genau doppelt so schnell, d.h.  wenn ich 8MHz als F_CPU angebe, passt es 
genau. Liegt das vielleicht an der EXTRCOSC_3MHZ-8MHZ einstellung?

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