www.mikrocontroller.net

Forum: Compiler & IDEs Problem mit externem Oszillator


Autor: Hans Müller (anno)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Problem mit meinem externen Oszillator am ATmega644p

Der externe Oszillator hat eine Frequenz von 11,0592MHz.

Doch wenn ich bei mir einen Port toggle um eine bestimmte Frequenz zu 
ermitteln, bekomme ich immer nur 125us heraus.

Hier der code:

[c]

#include <ioavr.h>

int itr;
int test[3];

int main( void )
{

  UBRR0L = 0x05;
  UBRR0H = 0x00;

  UCSR0B = 0x98;

  UBRR1L = 0x05;
  UBRR1H = 0x00;

  UCSR1B = 0x98;
  itr = 0;

  while(1) {

    while(1) {

     itr++;

     PORTB |= (1 << 4);

     if(itr == 1000) {
       itr = 0;
       PORTB ^= ( 1 << 4 );

     }

    }

}
  }
  return 0;
}

[c]

im anhang sind ncoh meine eisntellungen des controllers.

Autor: Hans Müller (anno)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier noch mein 2. anhang

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Kalibrierung ist für den internen Osc.

Autor: Hans Müller (anno)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie stelle ich das dann um??

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hans Müller schrieb:
> wie stelle ich das dann um??

garnicht, am Quarz gibt es vom AVR nichts zu calibrieren.

Verrate doch mal, was Du bei Deinem Programm eugentlich erwartest.

Gruß aus Berlin
Michael

Autor: Hans Müller (anno)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
na aber wenn es doch auf intern eingestellt ist, ich aber einen externen 
oszillaitor dran hängen hab, wie ich die einstellungen am atmega ändern 
muss, dass es mit dem externen funktioniert.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür musst du die entsprechenden Fuse Bits setzen (die Einstellungen 
kann man sich aus dem Datenblatt unter FUSE-Bits herausnehmen). Wo das 
Menü zum Einstellen der Fuse Bits beim JTAGICE ist kann ich dir nicht 
sagen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hans Müller schrieb:
> na aber wenn es doch auf intern eingestellt ist, ich aber einen externen
> oszillaitor dran hängen hab, wie ich die einstellungen am atmega ändern
> muss, dass es mit dem externen funktioniert.

wieso? laut Deinem ersten Bild stehst Du auf Ext. Crystal Osc., das 
stimmt doch so.

Der Hinweis bezog sich auf Dein 2. Bild: die Calibrier-Seite ist für den 
internen RC-Oszillator, also bei Deiner Fuseeinstellung werden diese 
Werte nicht benutzt.

Gruß aus Berlin
Michael

Autor: didi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

bei den neueren AVR's, wie der 664, ist im Neuzustand das CKDIV8-FUSE
gesetzt. Dh. der Takt egal ob intern oder extern wird durch 8 geteilt.
Aber VORSICHT mit den FUSE's - immer Datenblatt studieren!!

Gruß Didi

Autor: Uboot- Stocki (uboot-stocki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
didi schrieb:
> Hallo zusammen,
>
> bei den neueren AVR's, wie der 664, ist im Neuzustand das CKDIV8-FUSE
> gesetzt. Dh. der Takt egal ob intern oder extern wird durch 8 geteilt.
> Aber VORSICHT mit den FUSE's - immer Datenblatt studieren!!
>
> Gruß Didi

Ja, da bin ich auch schon drüber gestolpert...

Kann man, bei gesetzer CKDIV8-FUSE, also einen 80Mhz-Oszillator 
anschliessen auch wenn der AVR nur 20Mhz "kann" ?

Gruß

Andreas

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Uboot- Stocki (uboot-stocki)

>Kann man, bei gesetzer CKDIV8-FUSE, also einen 80Mhz-Oszillator
>anschliessen auch wenn der AVR nur 20Mhz "kann" ?

Wahrscheinlich eher nicht.

MFG
Falk

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Uboot- Stocki schrieb:
> Kann man, bei gesetzer CKDIV8-FUSE, also einen 80Mhz-Oszillator
> anschliessen auch wenn der AVR nur 20Mhz "kann" ?

Naja, anschließen schon, ich denke aber, der AVR-interne Clock-Teiler 
wird wohl kaum 80MHz teilen, das hätte Atmel schon ins Datenblatt 
geschrieben...

Gruß aus Berlin
Michael

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.