mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer1 Top mit ICR- Reg


Autor: Benjamin Böck (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube ich hänge mal wieder ganz dumm an ner kleinigkeit!
Ich will den Timer1- Top mit dem ICR- Register setzen so das er sich
beim ereichen resetet (CTC- MODE).
Ich habe aber das Problem das er sich auch im Mode 12 nicht bei
ereichen des ICR sondern des TCNT1A resetet.
Ich habe schon verschiedene Einstellungen probiert und es auch im AVR
Studio getestet.
Das Resultat ist immer das gleiche Reset bei =TCNT1A.
Vieleicht hat einer von euch ein Codebespiel oder sieht mein Fehler bei
dem aufs einfachste beschränkte Quellcode...

Autor: Benjamin Böck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
beschränken!

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich habe aber das Problem das er sich auch im Mode 12 nicht bei
ereichen des ICR sondern des TCNT1A resetet."
Meinste wirklich TCNT1A ? Dat gibts nämlich garnich.. Meinste OCR1A?

Probier mal die Register richtig zu beschreiben..
Warum kann man nicht einfach mal das machen, was im Datenblatt *MIT
BEISPIEL* gezeigt ist:
"; Set TCNT1 to r17:r16
out TCNT1H,r17
out TCNT1L,r16"
Das temporäre High-Register besteht nur 1Takt.. nix zwischendrin laden,
2 Register VORladen und dann direkt ausgeben.

dave

Autor: Benjamin Böck (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
War ein schreibfehler habe schon OCR1A gemeint und auch im Prog
verwendet. Das mit dr Registerbelegung habe ich vorher auch schon
anders gehabt und es hat auch nicht funktioniert. Auch habe ich die
Werte im Studio schon in dem Register gehabt was aber nichts änderte.
Aber danke für die anregung...

Autor: Benjamin Böck (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich wieder ein fehler im neuen Code funktioniert aber trotzdem
nicht...

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast dus mal praktisch ausprobiert? Mit dem Timer1 hat das AVR Studio
nen paar Probleme, schau mal unter Help ==> Known Issues ==> Known
Issues:
"Shadow register support is missing in AVR Studio. As a consequence
when operating PWM in fast- and phase correct mode, the OCR register
should not be updated until TCNT is at TOP."

Also FastPWM hat bei mir im Simulator nie funktioniert...

dave

Autor: Benjamin Böck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mal ein dickes Lob an Dave!!!
Ich habe vorhinn keinen Kopf mehr frei bekommen und es erst jetzt noch
einmal probiert und siehe da es Funktioniert!!!
Im Simulator natürlich immer noch nicht aber es soll ja auch in der
Schaltung Funktioniere ;-)
Ich glaube mein Fehler lag trotz allem in der Shadow-Register belegung
da sie durch das Studio ja als korrekt angezeigt wurde und ich mir
desshalb keine Gedanken mehr darüber machte.....

Also besten Dank ich denke es hätte mich sonst noch Tage gekostet...

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.