Servus,
der Link des Artikels ist hier:
[http://www.mikrocontroller.net/articles/Soft-PWM].
Ich habe einige Fragen zum zweiten Versuch im Artikel.
1. Handelt es sich um den Normal-Mode oder den CTC-Modus? Nach der Zeile
sollte das Normal-Mode sein, aber im Normal-Mode spielt das 'OCR1A'
keine Rolle!
2.
1 | OCR1A += (uint16_t)T_PWM;
|
Was macht diese Zeile in der ISR ? Nach jeder ISR wird das OCR1A um 312
(T_PWM) erhöht, also 0, 312, 624 usw. Das bedeutet, die Zeitabstände
zweier ISRs sind immer höher: 312, 624 usw. Habe ich falsch verstanden?
Irgendwann muss das OCR1A einen Überlauf bekommen, und dann?
3.
1 | TCCR1B = 1; // Timer läuft mit vollem Systemtakt
|
2 | TIMSK |= (1<<OCIE1A); // Interrupt freischalten
|
Geht es um Kanal A oder Kanal B? Sollte TIMSK eigentlich TIMSK1 heissen?
Vielen Dank für jeden Hinweis.
Senmeis