CC3200AI 实验教程
——疯壳·开发板系列
定时器
1.1寄存器
CC3200包含4个32位用户可编程通用定时器(TimerA0~3),通用定时器可以对定时器输入引脚的外部事件进行计数或定时。每个定时器模块包含2 个16位的定时/计数器(TimerA和TimerB),可以作为定时器或事件计数器独立工作,也可以作为一个32位定时器工作。
CC3200的定时器具有多种操作模式:16位或32位可编程单次定时器;16位或32位可编程周期定时器;16位通用定时器,带8位预分频器;16位输入边沿计数或时间捕捉模式,带8位预分频器;16位脉冲宽度调制模式(PWM),带8位预分频器和软件可编程输入。具有以下特性:
a、向上或向下计数;
b、16个16位或32位捕捉比较PWM(CCP)引脚;
c、可以确定产生定时器中断到进入中断服务程序(ISR)的时间;
d、可以触发使用 DMA 的高效传输;
e、系统时钟运行(80MHz)。
GPTMCFG寄存器主要是配置通用定时器模块的全局操作。确定通用定时器工作于32位模式还是16位模式。该寄存器中的值只能是在GPTMCTL寄存器中的TAEN和TBEN两位被清零时改变。如图1.0.1所示。
图1.0.1 GPTMCFG寄存器
2~0位:写入0,配置为32位定时器模式;写入4,配置为16位定时器模式。
GPTMTAMR寄存器配置是基于GPTMCFG寄存器的配置来进行选择的。在PWM模式中,置位TAAMS位、清除TACMR位和配置TAMR为0x01或者0x02。寄存器如图1.0.2所示,位定义如图1.0.3所示。
图1.0.2 GPTMTAMR寄存器
图1.0.3 GPTMTAMR寄存器位定义
GPTMTBMR寄存器控制独立定时器B的工作模式。当定时器A和定时器B一起使用时该寄存器被忽略,而是通过GPTMTAMR来控制定时器A和定时器B的工作模式。注意:除了TCACT位,其它位都必须在GPTMCTL寄存器中的TBEN位清零时进行配置。GPTMTBMR寄存器如图1.0.4所示,位定义如图1.0.5所示。
图1.0.4 GPTMTBMR寄存器