Hallöchen zusammen, ähnliches wurde hier schon mal angesprochen, aber das hilft mir leider nicht weiter. Mein Problem: nach 1 Minute hab ich schon ca. 5 Sekunden Verzögerung in meiner 'Uhr'. Die Interrupt-Routine kann eigentlich nicht zu lange sein, wenn ich das richtig sehe und berechnet wird auch nichts weiter. Könnt ihr bitte einen kleinen Blick drüber werfen :) Danke!
>Mein Problem: >nach 1 Minute hab ich schon ca. 5 Sekunden Verzögerung in meiner 'Uhr'. Dann benutz doch einen Quarz. Der interne RC Osci taugt nur für Ampelsteuerungen.
Mir gehts eigentlich mehr darum, wo mein Fehler liegt. Eine so extreme Abweichung kann nie und nimmer NUR am internen Oscillator liegen, oder doch?
>Eine so extreme Abweichung kann nie und nimmer NUR am internen >Oscillator liegen, oder doch? Buhaha!
tollo1400 schrieb: > Eine so extreme Abweichung kann nie und nimmer NUR am internen > Oscillator liegen, oder doch? Doch, kann schon. Atmel garantiert dir nur 10 % Kalibriergenauigkeit im Auslieferungszustand, und das auch nur für die Bedingungen, für die der vorkalibrierte OSCCAL-Wert definiert ist (Vcc = 3 V, tamb = 25 °C beim ATtiny13). In der Regel ist die Kalibrierung allerdings schon etwas besser, so bei 1 % sollte sie schon liegen. Wenn du allerdings den ATtiny13 mit 5 V betreibst, kann er schon gut daneben liegen.
10% - Das hätte ich nie gedacht. Danke für die Information. Das ganze soll eigentlich nur eine Art Eieruhr werden, da würde es ja eigentlich reichen, wenn ich die Werte ein wenig anpasse, bis is ungefähr am Sekundentakt bin :) Schönen Abend noch
tollo1400 schrieb:
> 10% - Das hätte ich nie gedacht. Danke für die Information.
Nich soviel "denken" (d.h. vermuten, raten, glauben, ...) sondern halt
erst mal die Fakten besorgen ist meist die bessere Strategie.
tollo1400 schrieb: > Das ganze soll eigentlich nur eine Art Eieruhr werden, > da würde es ja eigentlich reichen, wenn ich die Werte ein wenig anpasse, > bis is ungefähr am Sekundentakt bin :) Es genügt, wenn du dir den OSCCAL-Wert ermittelst, der für deine Umgebung passt, sofern du eine einigermaßen in der Spannung stabile Batterie hast (Lithiumzelle zum Beispiel). Habe ich vor Jahren mit einem PIC gemacht (und bin dann zu den AVRs gegangen, weil es mir leid war, so viel Aufwand in so wenig Assemblercode stecken zu müssen ;). Wenn du den ATtiny13 durch einen ATtiny25 ersetzt, hast du auch alternativ die Möglichkeit, einen einfachen Keramikresonator dran zu klemmen. Dann must du nichts weiter einstellen. ;-)
@Linuxgeek
Deine Sprüche kannst Du auch an der DOS-Kommandozeile eingeben:
>Copy con nul
Wenn Du fertig bist, noch ein Ctrl-Z hinterher und Deine Texte
landen da, wo sie hingehören.
gez. Katapulski
Ich denke Herr Wunsch hat gerne geholfen, sonst hätte er es nicht getan :P und schließlich bräuchte keiner ein Forum wenn jeder jedes Datenblatt auswendig kennen würde. Es macht zwar Sinn die Info in '18. Electrical Characteristics' unterzubringen, aber suchen werden die meisten (wie auch ich) erstmal in "6. System Clock and Clock Options". Grüße, tollo :)
Du vergleichst 'timer', bevor Du herunterzählst. Somit zählst Du auf 61 anstelle von 60. Einfacher wird es, wenn Du Dir vorstellst, Du möchtest statt 60 nur 1 Sekunde zählen und intialisierst timer also mit 1: Dann fallen 2 Interrupts an, also 2 Sekunden, bis Dein Vergleich zubeißt. Typischer Fall von fencepost error (Unbekannt? Siehe "Jargon File").
Danke dass du den Code angesehen hast, das ist ein ganz typischer Fehler meinerseits :) Hab's korrigiert. Grüße
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.