PIT下有4个定时器。
其中最显著的特点就是PIT定时器是从LDVAL设定值向下计数到0,然后重载初值,会产生一个触发脉冲, 同时产生中断。
各个定时器的中断都可以使能和禁止(通过TCTRL中的TIE控制位)。通过CVAL可以读取 定时器当前的计数值。
若要重启定时器,得先禁止定时器,再使能。使能位在PIT_TCTRLn中的第0位TEN。
正在运行的定时器的计数周期可以被改变,首先禁止,写入新值,再使能定时器。
也可以在不重启定时器的情况下,对LDVAL写入新值,此值会在下次的触发中被装载。
【问题1: 在Figure 40-23到25中,都有trigger event,这个event是指使能TEN吗,还是什么其他触发?】
【问题2: 定时器计数溢出时产生的脉冲,在哪个特定IO输出,还是不输出?】
LPTMR可以配置成时间计数器或脉冲计数器。 工作模式:
1.运行模式
2.等待模式
3.停止模式
4.低功耗模式
5.调试模式
对这些模式的说明,都高度相似: 在xx模式下,LPTMR都继续正常运行,可以由中断请求配置来推出低功耗模式。
【问题3: Low leakage mode 与 Low power mode是否就是同一个模式?】
【问题4: LPTMR在何种条件下进入到何种模式运行?】
LPTMR的比较 当计数器值等于比较寄存器值时,会发生以下事件:
1.定时器比较标志位置位
2.中断使能的话,产生中断
3.产生硬件触发
4.若自由运行计数器位被清零的话,计数器将复位
LPTMR的计数 每有一次以下情况发生时,计数器会增加1
1.预分频器时钟(时间计数器方式,预分频器旁路)
2.预分频器输出(时间计数器方式,预分频器使能)
3.输入源有效(脉冲计数器方式,滤波器旁路)
4.滤波器输出(脉冲计数器方式,滤波器使能)
看到有说,计数器不能被初始化,但可以在任何时候被读出。
【问题5: 不能被初始化,那如何指定定时器的初值?】
LPTMR的硬件触发
定时器比较标志位置位的同时,硬件触发有效,可以在无需软件的干预下在接口产生硬件触发。
对于硬件触发有效的有效期时间,具体情况如下:
当比较寄存器值被清零且自由运行计数器位被清零,硬件触发在首次比较匹配时有效,且一直有效。
当比较寄存器值被置成非零值或者自由运行计数器位被置位,硬件触发在每次比较匹配时有效,在随后 的计数过程,变无效,应该就是一个脉冲,有效时间为一个计数周期。 |