AVR - režim čítače Compare Output Mode, non-PWM
Jakub Ladman
ladmanj na volny.cz
Pondělí Prosinec 1 08:41:35 CET 2014
Ahoj
Po delší době jsem rozjel malý projektík na AVR.
Konkrétně AT90USB162.
Potřebuju čítačem 1 čítat externí pulzy na pinu T1 a po jejich uřčitém
počtu překlopit pin OC1A a vygenerovat přerušení.
Pokud použiju režim pinu "0 1 Toggle OCnA/OCnB/OCnC on compare match",
pak všechno funguje, jak bych očekával, jenže já potřebuji v průběhu
čítání vždy vysokou úroveň a po skončení přejít do nuly.
Když použiju "1 0 Clear OCnA/OCnB/OCnC on compare match (set output to
low level)", pak to proběhne jen jednou a pak už nevím jak softwarově
přepnout ten pin do vysoké úrovně.
Když přepnu pin do "0 0 Normal port operation, OCnA/OCnB/OCnC
disconnected", nastavím jako gpio do jedničky a v zápětí zase přepnu do
1 0 Clear, tak to vygeneruje krátký puls, jen po dobu vykonání toho
kódu, čili přepne se na gpio a pak se vrátí k čítači, kde je ovšem stále 0.
Ještě jsem nevyzkoušel nastavovat bit FOCnA: Force Output Compare for
Channel A, ale podle datasheetu by tohle neměl ovlivňovat.
To až večer po práci.
Díky za pomoc, máte-li zkušenost.
Jakub Ladman
Další informace o konferenci Hw-list