作用
Timer 是片内集成的通用定时器,能够向系统提供定时中断,也可以通过外部时钟进行定时计数;
工作模式
重启计数模式:
当通道使能后计数器锁存加载计数寄存器的值,然后在系统时钟的驱动下递减计数。当计数到零时,产生一个标志用于设置相应的中断标志位,若中断未被屏蔽则产生中断;同时,计数器重新锁存加载计数寄存器的值开始一个新的计数周期;
自由计数模式:
当通道使能后计数器锁存加载计数寄存器的值,然后在系统时钟的驱动下递减计数。当计数到零时,产生一个标志用于设置相应的中断标志位,若中断未被屏蔽则产生中断:同时,计数器加载数据0xFFFFFFFF(针对32位计数器)或0xFFFF(针对16位计数器)开始一个新的计数周期;
外部捕获功能:
利用外部事件捕获计数器的当前值,也就是检测到输入端口上发生指定的边沿变化时,立即锁存计数器的值并发起中断。利用捕获功能可以确定外部输入信号的频率,脉冲宽度等。
结构框架
左边是一个总线,一般位APB,负责配置timer寄存器,控制单元会进行模式的选择,将不同的值加载到计数器中,开始进行计数(向下计数),到0的时候会输出一个中断,当然,中断的输出还会与一些中断的控制信号进行逻辑与,实现对中断输出的控制。
寄存器列表
寄存器 | 描述 |
通道1加载计数寄存器 | 当重启计数模式时,该值可作为计数器加载到0后或发生capture事件时的重新加载值 |
通道1当前计数寄存器 | 标识当前计数器的计数值 |
通道1控制寄存器 | 包括中断屏蔽控制,计数模式选择,计数开始,通道使能 |
通道1中断状态清除寄存器 | 该寄存器可以清除中断状态 |
通道1中断屏蔽状态寄存器 | 反映了通道受屏蔽位控制的中断状态 |
Timer中断屏蔽状态寄存器 | 各通道的中断屏蔽状态位 |
Timer中断状态清除寄存器 | 该寄存器可以清除各通道中断状态 |
Timer中断状态寄存器 | 读此寄存器可以清除中断状态 |