www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny15L Timer


Autor: Andrei N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder lies das Kalibrationsbyte aus dem Signature-Bereich und schhreibe
es von Hand ins Flash, damit es dein Programm ins OSCCAL-Register
schreiben kann...

Autor: Andrei N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Und dann suche mal hier im Forum nach 'kalibration' und
'calibration' (getrennte Suche nacheinander). Da wirst du viel zum
Thema finden.

Autor: Mark Struberg (struberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
f/256 und nicht 255!

Du mußt nämlich auch die 0 mitzählen, somit sind es 0 bis 255 = 256
Werte.

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.