Generovani PWM na AVR

Martin Locker locker na vosrk.cz
Sobota Březen 19 20:10:34 CET 2011


Zdravím,
 
řeším následující problém. Generování PWM s proměnnou frekvencí na 16 bitovém čítači AVR.
Nastaven režím Fast PWM s maximem definovaným registrem ICR1, plnění OCR1A a OCR1B.
 
Změnu frekvence, tj. nastavení předvolby čítače do ICR dělám v přerušení při dosažení přetečení.
Problém je ale ten, že pro zachování plnění PWM (poměrné šířky) je nutné současně změnit i předvolby
OCR, ale tento registr se zapíše až při dalším přetečení (je bufferován) a tudíž je jedna perioda 
se špatnou šířkou (třeba i o 100%, když se změní frekvence dvojnásobně).
 
Jde to nějak řešit? Třeba zastavit čítač, nastavit novou hodnotu OCR, a spustit nebo je to 
neřešitelné (zatím se mi to nepodařilo)?
 
Díky za případné zkušenosti a nápady
 
Martin Locker
 




Další informace o konferenci Hw-list