The value written to CTL.MODE[0:2]
determines the counter mode as follows:
- UP_ONCE: The timer counts from 0 to the selected target. The timer then becomes
disabled.
- UP_PER: The timer counts from 0 to the selected target, repeatedly.
- UPDWN_PER: The timer counts from 0 to the selected target and decrements back to
0, repeatedly.
- QDEC: The timer functions as a
quadrature decoder. IOC input 0, IOC input 1 and IOC input 2 are used
respectively as PHA, PHB and IDX inputs. IDX can be turned off by setting
C2CFG.EDGE = NONE.
- SYNC_UP_ONCE: Same as UP_ONCE but
the timer synchronizes to another timer.
- SYNC_UP_PER: Same as UP_PER but
the timer synchronizes to another timer.
- SYNC_UPDWN_PER: Same as
SYNC_UPDWN_PER but the timer synchronizes to another timer.
Note:
While the counter can be written, the intent is only to support the setting of an
initial position in QDEC mode. The ability to write the counter in other modes
while the timer is running is possible, but the resulting behavior is
unpredictable.