Mega8 Timer1-Problem

Gast #71748
Blödheit von mir? Fehler in AVR-Studio (4.08)?
Keiner der Modes (8,10,12), die den Wert von ICR1 als top benutzen,
funktioniert. Benötige ein 40kHz-Signal (IR) und beide OCR-Ausgänge,
dachte mir also, die Frequenz mit dem Wert in ICR einzustellen. Allein
- der Simulator zumindest kümmert sich gar nicht drum. Hat das schon
mal einer gemacht?
Gast #71749
Das ICR1-Register darf erst beschrieben werden, nachdem der
entsprechende Modus (8, 10, 12, 14) gesetzt ist. Hast Du das beachtet?

Was genau geht denn nicht? Interrupt? CTC?
Gast #71750
soll im Modus 14 arbeiten, clk=8MHz, ICR1=200, der Timer sollte also bis
0xc8 laufen und dann wieder bei 0 beginnen, zumindest verstehe ich die
Beschreibung der fast pwm so.
Im Simulator steht auch alles korrekt drin, ICRL=0xc8, ICR1H=0,
WGM10=0, WGM11..13=1. ICR wird nach Initialisierung beschrieben - der
timer läuft aber munter zwischen 0 und 0x1ff auf und ab. Im Moment habe
ich leider keinen Mega8 hier, dass ich es der Realität mal prüfen
könnte.
Gast #71752
tja, genau da hängt der Hase ja im Pfeffer :-)
TCCR1A=0x02, TCCR1B=0x39 wäre meiner Meinung nach korrekt, und im
Simulator stehen ja dann auch die richtigen Werte drin - aber der
kümmert sich nicht drum, was da steht, sozusagen ein Ignorant.
Dann werde ich mal abwarten müssen, am Montag sollen die Mega8 kommen,
dann gibts den Hardwaretest.
Gast #71753
Ich kann Dein Problem bestätigen. Der Modus 15 (TOP=OCR1A) funtioniert
ebensowenig. Ich denke, der Simulator ignoriert die Bits WGM12 und
WGM13. Er verhält sich genauso wie er sich in den Phase-Correct
PWM-Modi 2 und 3 verhalten sollte statt 14 und 15.

Ist wohl ein Fehler im AVR-Studio.
Gast #71757
Woher der Begriff stammt, kann ich Dir auch nicht erklären, aber man
bezeichnet damit eine Textsammlung auf einem WebServer, die von allen
Leuten gelesen und (ggf. nach vorheriger Freischaltung) verändert
werden kann. Also Du schreibst z.B. "tja, genau da hängt der Hase ja
im Pfeffer :-)" und ich kommentiere mit "Das paßt doch zur Osterzeit,
wo ist also Dein Problem?" und ändere Dein "tja" in ein "Tja",
weil es am Satzanfang steht und ich den Klugscheißmodus aktiviert habe.
Oder so ähnlich...

Gruß, Frank
Gast #71758
Mit einem realen µP funktioniert die fast PWM Geschichte:

TCCR1A = 0xa2;
TCCR1B = 0x19;

Die Abweichungen der Registerwerte von Deinen kannst Du sicherlich
nachvollziehen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.