Zeiten bei ATMEGA32 falsch

#3894169
Lesenswert?

Hallo,

ich benutzt den Atmega32 und den Adaptar AVRISP mkII und bei mir ist der 
_delay_ms(250); gleich 1s
Und habe auf dem Atmega32 ein Quarz von 4 MHz mit 2x 22pF auf 0V 
geschaltet.

1
#define F_CPU 4000000UL  
2
#include <util/delay.h>  
3
#include <avr/interrupt.h>
4
#include <avr/io.h>
5

6

7

8
int main()
9
{
10
  
11
  
12
  
13
  DDRA = 0xFF;
14
  
15
    
16
    
17
    
18
    while(1)
19
    {
20
        
21
    
22
  PORTA = 0b00000001;
23
    
24
  _delay_ms(1000);
25
    
26
  PORTA = 0b00000000;
27
    
28
  _delay_ms(1000);    
29
  
30
    
31
    }
32
}


Warum bekomme ich keine genaue Sekunde?


Danke im Voraus!
Gast #3894257
Lesenswert?

> Und wie geht das mit den Fuses ändern?

Datenplatt lesen über die Fuses (kein Scherz!), grob Abschnitt "Fuse 
Bits" im Kapitel "Memory Programming" sowie die darin referenzierten 
anderen Abschnitte, sodann in der von dir geheim gehaltenen IDE, 
alternativ direkt auf der Kommandozeile, die Fuses gemäß Datenplatt 
setzten. Beim avrdude heissen die Speichertypen für die Fuses hier hfuse 
und lfuse.

> Ich bin noch Anfänger.

Das waren wir alle mal :-)

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