Gast
#5519464
Hallo, stehe gerade total neben der Spur. Ich betreibe einen XMEGA256A3BU mit einem 32MHz Oszillator. Nun möchte ich "TIMER0" alle 250ms triggern lassen. Wie berechne ich das ganze? Formel?
|
Anzeige
|
XMEGA256 Timer0 Compare Match Berechnung
Gast
#5519464
Hallo, stehe gerade total neben der Spur. Ich betreibe einen XMEGA256A3BU mit einem 32MHz Oszillator. Nun möchte ich "TIMER0" alle 250ms triggern lassen. Wie berechne ich das ganze? Formel?
Gast
#5519649
32 MHz ist 32 Millionen Mal jede Sekunde. Alle 250 ms ist 4 Mal jede Sekunde. Dazwischen liegt also Faktor 8 Millionen. Diese 8.000.000 musst Du aufteilen auf irgendwelche Teiler zwischen Quarztakt und Peripherietakt, auf den Vorteiler vom Zähler und auf den Zähler selber. Du kannst bestimmt irgendwie den Wert, bis zu dem der Zähler zählt begrenzen. Vorsicht : da der Zähler von 0 los zählt, teilt er durch 10, wenn er bis 9 zählt. Also immer einmal mehr wie Du, würde Mundstuhl sagen. Da die meisten Vorteiler nur 2er Potenzen können, musst Du schauen, wie Du das Verhältnis ganzzahlig hin bekommst. In Primfaktoren zerlegt ist Deine 8.000.000 immerhin 2^9 * 5^6. Wenn Du einen 16-Bit-Timer hast ist das vermutlich kein Problem.
Gast
#5520120
Danke für die Hilfestellung. Gibt es hier jemand der mir einen Code Snippet zeigen kann, wie man den Timer auf Compare Match konfiguriert? Im Datenblatt gibt es zig Bits um irgendwas mit Compare Match einzustellen..
Gast
#5520123
Gast
#5520163
mega_looser schrieb: > mega_looser (Gast) Nomen est omen? Google ist Dir bekannt? Troll ... :-)
Gast
#5520178
Hilfe zur Selbsthilfe reicht einfach nicht. Es müssen gebratene Tauben in den Mund geflogen kommen.
Gast
#5520755
Danke für eure Mühen. Sehe ich das richtig? Für einen Compare Match, muss ich es wie folgt konfigurieren?
Gast
#5520771
Das will nicht so ganz.. Was mache ich falsch?
Gast
#5521832
PMIC initialisiert? (Sonst kommt kein Interrupt!) ISR vergessen? Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|