Hallo mc Gemeinde Um es gleich vorweg zu nehmen, ich bin am verzweifeln. Es geht um folgendes: Ich arbeite mit einem Atmega 8 und ich brauche einen genauen Sekundentakt. Um den Takt zu erhalten, verwende ich einen 32.786kHz Uhrenquarz. Das ergibt bei einem Teiler von 128 einen periodischen Ueberlauf von modulo 256 eine Frequenz von genau 1Hz. Ich warte also den Overflow2 ab und zähle dann eine Sekunde hoch. Aber...der Timer stimmt nicht. Und zwar geht mein Timer so etwa 7 Sekunden pro Stunde zu schnell. So ungenau kann ja kein Uhrenquarz sein. Den Timer habe ich sicher richtig initialisiert. Meine Frage ist, kann es sein, dass ich die Ports an denen der Uhrenquarz liegt sonst beeinflusse. Der Uhrenquarz liegt an Port B(1<<7) und (1<<6). Wenn ich irgendwo eine Null auf diese Ports gebe, kann das was ausmachen? Und muss ich diese Ports als Eingang oder als Ausgang definieren. So wie ich das verstanden habe, handelt es sich um keine eigentlichen IO-Ports mehr, wenn ich den Asynchronen-Timer initialisiere (1<<AS2)? Danke für Hinweise.
Mit dem Einstellen der Fuses sind die entsprechenden Pin konfiguriert. Es sind keine weiteren Einstellungen (Eingang / Ausgang) notwendig. Sind externe Kondensatoren dran oder ist CKOPT aktiviert?
Hallo Hubert, danke für die Antwort erstmal. Nein externe Kondensatoren habe ich keine dran und den Quarz habe ich direkt am Mc . Kannst du mir sagen wie ich CKOPT aktiviere? Ich arbeite mit dem avr Studio und schreibe in C. danke schön.
CKOPT ist ein Fusebit. Im Zweifelsfall: Datenblatt nochmal genau lesen.
Hallo Sebastian, auch danke an dich fürs Antworten. Nur, wie schalte ich das Fusebit ein... sorry für die ev. ein wenig blöde Frage, aber ich bin noch ein ziemlicher Anfänger... Danke
So wie du auch die CKSEL Fuses programmierst. Ich weis nicht, wie man das in AVRStudio macht, aber normalerweise sollte der Programmer das machen. Ich weis aber nicht, ob dieses Bit jetzt an oder aus sein soll -- hierzu würde ich nochmal im Datenblatt nachschlagen. PS: Da! http://www.mikrocontroller.net/articles/AVR_Fuses#AVR_Studio
ok gut. Dann setze ich mal die Fuses für einen "External Low-frequency Crystal". mal schauen ob es tut wie es soll.
Wenn du vorher keine Fuses gesetzt hast sollte der AVR auf dem internen 1MHz-RC-Oszillator laufen. Lies dir auf jeden Fall vorher den oben genannten Artikel durch, da du dich durch "versetzen" der Fuses auch schnell aus dem µC "aussperren" kannst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.