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?
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?
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.
Wenn er tatsächlich auf und ab läuft, stimmt die Initialisierung nicht. Der Fast PWM Mode sollte nur aufwärts laufen.
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.
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.
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
Mit einem realen µP funktioniert die fast PWM Geschichte: TCCR1A = 0xa2; TCCR1B = 0x19; Die Abweichungen der Registerwerte von Deinen kannst Du sicherlich nachvollziehen.
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.