Gast
#597032
Hallo, habe einen AVR Mega und möchte dort ein PWM Signal mit dem 16-Bit Timer erzeugen. Wenn ich das Datenblatt richtig verstehe, kann ich mit Modus 15 mit dem Register OCR1A den oberen Grenzwert (=Periodendauer) festlegen, mit ICR1 den Vergleichswert bei dem der Ausgangspin getoggeld wird. Damit am Pin OC1A ein Signal erscheint, muss der Pin auf Ausgang geschaltet sein. Interrupts o.ä. benötige ich nicht, d.h. das PWM Signal soll immer widerholt werden, wo der Counter aktuell ist, ist meiner Anwendung egal. Mein Code zur Initialisierung:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Leider kann ich am Pin PB1 jedoch kein toggeln erkennen. Woran liegt das? Habe außerdem Probleme die korrekten Werte des Prescalers und der Periodendauer auszurechnen. Mein Quarz hat 14MHz, gewünscht sind 15msec Periodendauer, wovon 3msec high sein sollen. Wie geht man da am besten vor? Im Datenblatt steht zwar die Formel, aber ich kenne ja nur meine gewünschte Frequenz/Periodendauer, aber weder den TOP Wert, noch den Prescaler. Gruß, Jan