Hallo, ich bin etwas verwirrt. Könnte bitte jemand überprüfen, ob es tatsächlich diesen Unterschied zwischen den neuen und den alten AVRs gibt?
1 |
|
2 |
|
1 |
|
2 |
|
(Single-slope PWM)
|
Anzeige
|
AVR Timer/Counter Compare ValueHallo, ich bin etwas verwirrt. Könnte bitte jemand überprüfen, ob es tatsächlich diesen Unterschied zwischen den neuen und den alten AVRs gibt?
(Single-slope PWM)
Gast
#7415578
Die Timer waren noch nie exakt gleich. Welche Modelle meinst du denn genau? Am besten antwortest du mit Links zu deren Datenblättern, und bei der Gelegenheit kannst du sie auch gleich selbst lesen. Die Registernamen sind darin ja leicht zu finden. Ja, ist so, z.B. auf einem ATmega4809 für Tastgrad 0.5:
Steht im Datenblatt etwas Gegenteiliges? Okay, zugegeben, mag für einen 'alten Hasen' etwas irritierend sein, ist aber z.B. beim TCB genauso:
OK, danke, und was ist mit den alten AVRs? (z.B. ATmega328P Timer/Counter1) Ich kann im Datenblatt auch nichts darüber finden, und dennoch muss Compare Value um 1 kleiner sein. Oder irre ich mich? Hallo, die Bedeutung der Einstellungen sind ja immer ungefähr gleich. Geändert hat sich im Vergleich zu den alten ATmegas nur der Registeraufbau und eben die Namen der Register. Wenn man die alten Timer kennt, kennt man recht schnell die Neuen. Die App Notes "Getting Start with ..." helfen auch dabei.
Der Vergleich passt insoweit schon.
Dazu musst du die dir Formeln der jeweiligen Timer-Modes im Manual anschauen. Dafür gibt es keine pauschale Formel für alles. Gab es vorher nicht und gibt es jetzt auch nicht. Die App Notes "Getting Start with ..." helfen auch dabei.
Oder die Beschreibung lesen und verstehen. Oliver
Ja. Geklärt. Mit etwas Mühe lässt es sich finden, zum Beispiel: ATmega328P Timer1: If TCNT equals OCR1x the comparator signals a match. A match will set the Output Compare Flag (TIFR1.OCFx) at the next timer clock cycle. ATmega4809 TCB 8-Bit PWM Mode: CCMPH is the number of cycles for which the output will be driven high. CCMPL+1 is the period of the output pulse.
Ja, das ist aber immer noch so, auch auf anderen CPUs. Denn die Zähler zählen immer (meistens?) von 0-N, macht eine Periode von N+1 Takten. Hallo, es kommt auch auf den Timer Mode an. ;-) Beim TCA im Dual Slope ist das wieder anders. Da muss ein TOP Wert von Minimum 2 beachtet werden. Ich hänge einmal mein Excel Rechenblatt für AVR DB ran. Enthalten ist .xls und .xlsx Dateiformat. Sowas Schönes habt ihr bestimmt nicht. :-) an Falk Brunner: Die ursprüngliche Frage war, bei welchem Wert der Compare-Match ausgelöst wird im Single-Slope-Modus - der muss bei den neuen AVR-Typen um 1 größer sein.
Gast
#7416041
Ich glaube du hast da etwas anderes im Sinn, als worum es hier geht. Der TO will, dass der Komparator 10 Takte nach dem Start ausgelöst wird. Wenn ich bei 0 anfange und dann 10x erhöhe, bin ich bei 10. Dennoch muss er 9 konfigurieren. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|