Quarz 8 MHZ Atmega8

OP #2111457
Lesenswert?

Moin Moin,

derzeit versuche ich einen Quarz mit 8 MHZ an meinem Atmega8 zum laufen 
bringen. Die Fuses habe ich über das AVR Studio und anhand der Infos aus 
dem Datenblatt auf CKOPT 1 und die SUT_CKSEL auf "Ext. Crystal/Resonator 
High Freq: Start-up time 16K CK + 64 ,s" gestellt. Quarz ist wie im 
Tutorial beschalten.

Nun wollte einfach nur eine LED blinken lassen (im 1 Sekeundentakt - 
siehe Code) und erhalte nun ein viel zu schnelles blinken. Setze ich 
einen 4 MHZ Quarz ein reduziert sich das Blinkinterval, aber stellt 
immernoch kein Sekundentakt dar.

Liegt bei mir ein Verständnisproblem vor oder gebe ich dem Atmega8 
nötige Informationen nicht?

Viele Grüße
Angehängte Dateien:
OP #2111474
Lesenswert?

Besten Dank schonmal für den Hinweis. Leider führt dies zu keinem 
Unterschied beim Blinkverhalten. Den nun aktuellen Code mit deinem 
Hinweis hänge ich an.
1
#include <stdlib.h>
2
#include <avr/io.h>
3
#include <avr/interrupt.h>
4
#include <util/delay.h>
5

6
#define F_CPU           8000000UL              
7

8
#define LED_PORT        PORTD
9
#define LED 2
10

11
void toggle_led()
12
{
13
  LED_PORT ^= (1 << LED);
14
} 
15

16
void main(void)
17
{
18

19
  DDRD=0xff;
20

21
  PORTD=0x00;
22

23
  while(1)
24
  {
25
  
26
  toggle_led();
27
  _delay_ms(250);
28
  _delay_ms(250);
29
  _delay_ms(250);
30
  _delay_ms(250);
31

32
  }  
33

34
}
Gast #2111476
Lesenswert?

Kannst du Messwerte beschaffen - Wie oft blinkt es in 10s oder 100s? 
Damit könnte man vielleicht Rückschlüsse auf die Ursache ziehen.

Bei dem Wechsel auf 4 MHz Quarz: Hast du den Quarz als Bauteil getauscht 
und im Programm F_CPU auf 4000000 geändert?

Welche Version der avr-libc benutzt du (s. Datei avr/version.h)?

Mit dem gezeigten Code kannst du nicht gut unterschieden, ob dein 
Programm läuft oder der AVR dauernd resettet. Das kann wie eine 
blinkende LED aussehen. Füge an einem freien Pin ein Dauersignal ein. 
Wenn das toggelt, hast du ein Resetproblem.

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