Hallo! Ich hab ein kleines Program für mein Attiny15L geschrieben, der Timer verwendet. Es soll ein Interrupt nach Overflow ausgelöst werden und ein Ausgang ausschalten. Nach meine Wissen verwendet man folgende Formel für die Zeitberechnung: t = Prescaler * 1/f * 255; wo f=1,6Mhz (interne f von Attiny15) Nachdem ich aber diese Zeit am Oszi gemessen habe, stimmt es nicht mit d. Berechnung nicht überein (?). Und wenn ich zurückgerchne, ergibt sich eine f von 1,17Mhz (??). Hat irgentwer Erfahrung damit oder kann mir ein Rat geben. Danke!
Hallo! Arbeite schon länger mit TN15! Programmierst du in C oder Asembler? controller ist nicht optimal calibriert! Probier mal mit Sukzessiver Approximation bei OSCCAL Register! Schreib mal den Wert 0xf0 hinein und schau was rauskommt! mfg Klaus
Oder lies das Kalibrationsbyte aus dem Signature-Bereich und schhreibe es von Hand ins Flash, damit es dein Programm ins OSCCAL-Register schreiben kann...
Hallo! Danke für die Replies :-) Ich programmiere in Assambler. Ich hab einfach ein 0x00 in OSCCAL schreiben lassen, reicht das nicht aus? mfg, andi
Ganz so einfach ist das nicht... Schau dir mal diesen Thread an, das Projekt ist zwar Unfug, aber da ist ein Beispiel mit kalibriertem Tiny12. Das geht auch mit dem Tiny15 so. http://www.mikrocontroller.net/forum/read-1-113815.html#116424 Und dann suche mal hier im Forum nach 'kalibration' und 'calibration' (getrennte Suche nacheinander). Da wirst du viel zum Thema finden.
f/256 und nicht 255! Du mußt nämlich auch die 0 mitzählen, somit sind es 0 bis 255 = 256 Werte.
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.