Interner Oszillator genutzt statt Quarzoszillator ?

#3825028
Lesenswert?

Hallo,
Ich bin gerade dabei, mit UART und der seriellen Schnittstelle 
rumzuspielen am Atmega8.
Ich habe aber das Problem, dass der AVR als Taktsignal den internen 1MHz 
Oszillator nimmt, statt dem externen Quartz.

Die Fuses habe ich richtig gesetzt

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as D9

Den Oszillator habe ich auch richtig angeschlossen.
Ich nutze einen 14.7456 MHz Quartz.

Danke für eure Hilfe.
Gast #3825050
Lesenswert?

> Das Ausgangssignal ändert mit jede us den Pegel.

Wie compiliert? Mit ohne Optimierungen klingt das plausibel.

Besser(tm) macht man das übrigens mit einem der Timer (mit Pinwackeln in 
Hardware, behelfsweise in einer ISR).
#3825083
Lesenswert?

Ich habe auf Grösse optimiert (-Os).
Ich habs jetzt nicht mit timer gemacht, weil ich dachte, das hier wäre 
leichter, um mal schnell die Frequenz zu überprüfen.
Hfuse auf c9 setzen hat auch nichts gebracht, Pin toggelt immer noch 
jede us.
Ich nutze einen Quartz, den ich an XTAL1 und XTAL2 angeschlossen habe 
mit jeweils 22p kerKo nach Masse.
Komisch, der Quarz scheint schon zu arbeiten, denn das Pin toggeln hört 
auf, sobald ich den Quarz entferne.
Die Frequenz ist bloss die Falsche.
#3825128
Lesenswert?

Christophe Privat schrieb:
> Komisch, der Quarz scheint schon zu arbeiten, denn das Pin toggeln hört
> auf, sobald ich den Quarz entferne.
> Die Frequenz ist bloss die Falsche.

Dann miss deine Frequenz vernünftig.
1
int main(void)
2
{
3
  DDRB |=  (1 << PB0);
4

5
  while(1)
6
  {
7
    PORTB ^= (1 << PB0);
8
    _delay_ms(500);
9
  }
10
}

Blinkt im Sekundentakt. Kannst du mit der Armbanduhr stoppen.

mfg.

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