30.6.2 基本操作
30.6.2.1 初始化
以下寄存器使能写保护,意味着它们只能在TCC是禁止的(CTRLA.ENABLE是0)情况下写入。
。控制A(CTRLA)寄存器,除了运行Standby(RUNSTDBY),使能(ENABLE)和软件复位比特位(SWRST)
。可复位错误n控制寄存器(FCTRLA和FCTRLB)
。波形扩展控制寄存器(WEXCTRL)
。驱动控制寄存器(DRVCTRL)
。事件控制寄存器
使能保护比特在控制A寄存器能同CTRLA.ENABLE使能一起写1,但是不能同时写0。
使能保护是通过寄存器描述中使能保护属性来指示的。
在TCC使能之前,它必须被配置大致如下步骤:
。首先使能TCC总线时钟
。如果捕获模式需要,能使通道的捕获模式,通过向控制A寄存器(CTRLA.CAPTEN)
可选地,以下配置能被设置在使能TCC之前或之后:
。在控制A寄存器选择预分频设置(CTRLA.PRESCALER)
。在控制A寄存器选择预分频同步设置(CTRLA.PRESCSYNC)
。如果向下记数必须使能,向控制B设置寄存器记数器方向比特写1(CTRLBSET.DIR)
。在波形寄存器选择波形产生操作(WAVE.WAVEGEN)
。在波形寄存器中选择波形极性(WAVE.POL)
。波形输出能在单独的通道被反向,通过驱动寄存器中的波形输出反向使能比特组
(DRVCTRL.INVEN)。
30.6.2.2 使能,失能和复位
TCC的使能是通过向控制A寄存器中的使组比特写1来实现的。TCC失能是向CTRLA.ENABLE写0来实现的
。
TCC的复位是向控制A寄存器的软件复位比特位写1(CTRLA.SWRST)来实现的,在TCC的所有寄存器,除
了DBGCTRL,将被复位到它们的初始值,并且TCC将失能。请参考CTRLA寄存器的描述。
TCC将在TCC被复位之前失能,以避免没有定义的行为。
30.6.2.3 预分频器选择
GCLK_TCCx被提供给内部的预分频器。预分频器的输出间隔从1到1/1024可用的。完整的可用预分频
输出列表,见控制A寄存器的预分频比特组的描述(CTRLA.PRESCALER)。
预分频器由一个记数器组成,它用来记选择的预分频值,再此基础上输出预分频值的切换。当一个
预分频器被设置一个大于1的值,它需要选择是否预分频器应复位它的值到0或者从当前值连续记数在一个外
部触发发生时。它也需要选择是否TCC记数器将反辅以 在下一个通用TCC时钟的脉冲或者下一个预分频时钟
脉冲(CLK_TCC_CNT如下图所示).做这些,用预分频器和控制A寄存器的记数器同步比特组。如果记数器被设置
为从事件系统记事件,它们将不通过预分频器。
|