本帖最后由 ddllxxrr 于 2015-6-10 20:59 编辑
29.6.2.2 使能,失能,和复位
TC使能通过向控制A寄存器的使能比特写1来实现的(CTRLA.ENABLE)。TC的失能是通过向CTRLA.ENABLE写
零来实现的。
TC的复位是通过向控制A寄存器软件复位比特写1(CTRLA.SWRST)来实现。TC所有的寄存器,除了DBGCTRL,
将恢复到它们的初始状态,TC将被禁止。参考CTRLA寄存器的描述。
TC在被复位之前应禁止以避免没有定义的行为。
29.6.2.3 预分频选择
见下图所示,GCLK_TC 时钟提供到内部预分频器。预分频器输出问隔从1到1/1024是可用的。为了一个比
较全的可用预分频输出,见控制A寄存器预分频比特组的寄存器描述(CTRLA.PRESCALER).
预分频器由一个记数器组成记数所选的预分频器的值,正因为这预分频触发可以输出。
当预分频器设置一个大于1的值,它需要选择是否预分频器应该复位其值到零还是继续从当前值记数到上溢或下溢发生。它也需要选择是否TC记数在在下一个GCLK_TC时钟脉冲或下一个预分频器时钟脉冲(CLK_TC_CNT)执行。
做这些,使用预分频器和记数器同步比特组在控制A寄存器(CTRLA.PRESYNC)。
如果记数器被从事件系统中设置为记数事件,这些将不经过预分频器
29.6.2.4 TC 模式
记数模式是通过控制A寄存器中的TC模式比特组选择的(CTRLA.MODE)。默认情况,记数器使能在16位记数模式。
三种记数模式可用:
。COUNT8:8位TC有它自己的周期寄存器(PER)。这个寄存器用来存贮能被用来产生如顶值方式的波形的周期值。
。COUNT16:这是个默认记数模式。在这个模式中没有专门的周期寄存器。
。COUNT32:这个模式是由TC外设的一对两个16位寄存器完成的。奇数TC实例将作为偶数TC外设的主机,偶数作为从机。从机状态指示是通过读状态寄存器中的从机比特位(STATUS.SLAVE)。从机寄存器将不对32比特记数器产生影响。写任何从机寄存器将不影响32位记数器。通常情况下访问从机COUNT和CCx寄存空对空不允许的。
|