www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wird der externe Quarz wirklich verwendet? Atmega8515L


Autor: Lynn S. (Firma: Gecko) (wolke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Aufgrund Probleme mit der USART Kommunikation (empfange nichts) habe ich 
die AVR Checkliste (unter Artikel) konsultiert. Unter UART/USART steht:

"Um zu prüfen, ob der externe Quarz auch wirklich verwendet wird, kann 
man mittels _delay_ms() einfach mal eine LED im Sekundentakt blinken 
lassen. Den Unterschied zwischen Quarz und internem RC-Oszillator kann 
man bei grösseren Frequenzunterschieden leicht sehen. [...]"

Also schrieb ich ein C Programm, um ein blinkendes LED zu erzielen:
#define F_CPU 1000000UL  // 1 MHz
#include <avr/io.h>         
#include <util/delay.h> 


int main (void) {           
 
   DDRB  = 0xff; 
               
   while(1){ 
      PORTB = 0xFE; 
      _delay_ms(200);   
      PORTB = 0xFF; 
      _delay_ms(200);
   }                    
   return 0;                
}


Ich benutze den Atmega8515L mit dem STK500 über AVR Studio4. Für den 
internen RC Oscillator habe ich die SUT_CKSEL fuses auf "int. RC Osc. 
1MHz; Start-up time: 6CK+64ms" gesetzt.
Lass ich das Programm laufen, blink es eher langsam.

Stecke ich einen 4MHz Quarz auf das STK500 board (OSCSEL Jumper auf 2,3) 
und stelle die Fuses auf "Ext. Crystal/Resonator Medium Freq.; Start-up 
time: 1K CK+64 ms" blink es anschliessend schneller (Programm nicht neu 
geflasht).

Aber genauso schneller blinkt es auch, wenn ich den Quarz vom board 
wegnehme. In dem Fall wird der externe Quarz gar nicht verwendet. Aber 
trotzdem blinkt es schneller.

Wo muss ich noch Einstellungen machen, damit mein Quarz verwendet wird? 
Der Clock Generator Wert von 3.686MHz unter "HW Settings" bleibt in 
jedem Fall immer der selbe (sollte wahrscheinlich auch nicht so sein).

Wäre um hilfreiche Tipps sehr froh! Stehe eher am Anfang meiner 
Mikrocontroller-Karriere ;-)
Danke im voraus.

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwoher muss der takt ja kommen...
Bis du dir sicher, dass der OSCSEL-Jumper richtig sitzt? Stell mal den 
Clock Generator des STK auf "off". (oder nimm eine andere Frequenz, und 
schau ob sich was tut)

Mit der derzeitigen Fusebit-Einstellung holt sich der AVR den Takt 
jedenfalls von XTAL1. Und da hängt entweder der Quarz, oder der 
Softclock von STK.

Autor: Lynn S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für Deinen Hinweis!

Tatsächlich hatte ich den OSCSEL Jumper verkehrt gesetzt. Ich habe die 
Pins von links nach rechts gezählt und 2,3 war für mich was eigentlich 
1,2 ist. Und so wie ich es gesetzt hatte, nahm er den Takt vom Software 
Clock und nicht vom Quarz.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.