寄存器图
可以通过操作以下的寄存器来实现对timer(定时器)内核的操作(仅描述32位计数器)
状态寄存器:
TO(timeout) :计数器计数到0时,该位置1,之后TO位的值会保持,直到手动清零,向状态寄存器写零,可以清除TO位
RUN:只读寄存器,读该寄存器,返回值为1表示计数其正在运行,0表示计数器停止计数,向状态寄存器写值,对该位无影响
控制寄存器:
ITO(interrupt timeout):该位为1允许timer在计数为0 时输出中断。该位为0,计数至0时,不输出中断信号.
CONT(continuous):该位控制定时器计数至0 后的动作,该位为1 ,计数器继续运行;该位为0,计数器到0后,停止计数。(无论该位为何值,在计数器到0后,均会载入计数初值)
START:启动计数器。当计数器停止时,写1,计数器从原计数器继续计数;当计数器运行时,写1,无影响。向该位写0,无影响.
STOP:停止计数器,当计数器运行时,写1,计数器停止计数;当计数器已经停止时,写1,无影响。向该位写0,无影响.(在硬件配置时,没选择"Start/Stop control bits" ,向该位写值,无影响)
注意:同时向START位和STOP位写1,结果不可预测!
计数值寄存器:
32位存储计数初值,计数器载入该值时满足的条件(二者选其一):
1,计数器计数至零;
2,对该计数值寄存器进行写操作;
计数器的计数周期为,初值加1,因为计数器需计数至0后,才载入计数初值
当硬件配置时,选择“Start/Stop control bits”,向该寄存器写值,计数其停止计数;若未选择时,计数器不会停止计数。未选择“Writeable period”,向该寄存器写值,会使计数器复位
临时值寄存器:
向给寄存器写任意值,计数器当前计数值会复制到临时值寄存器!
对该寄存器的操作,对计数器无影响
中断行为:
当ITO位为1,且计数器计数至0时,计数器发出中断信号,