RINT5611C定时器功能汇总
1、 六类功能单元
【时基、从模式控制、输入、输出、捕捉比较、触发输出】
2、 四类信号
【时钟信号、外部输入信号、触发输入信号、触发输出信号】
3、 四类事件
【更新事件、捕捉、 比较事件、触发事件】
4、一大特性
【影子寄存器的预装载特性】
这上面的一些内容掌握了,对定时器基本就没多大问题了,资料中也有详细说明
案例:定时器一使能就进中断的问题
问题描述 : TIMER初始化阶段, 经常有人反馈一使能更新中断就就进中断服务程序?给开发带来些困扰,原因可能是什么?如何解决?
因为在定时器的初始化代码里有软件更新操作触发了更新事件,并置位了更新中断标志,当使能更新中断时就立刻进入更新中断服务程序。
在STM32标准库里的TIM_TimeBaseInit( )函数里都有这句代码:
TIMx->EGR = TIM_PSCReloadMode_Immediate;
• 在Cube库里的HAL_TIM_Base_Init( )函数里的 函数有这句代码:
TIMx->EGR = TIM_EGR_UG;
显然,这两行代码使用到了前面提到的软件更新操作,触发了更新事件,置位更新中断标志。所以我们在使能定时器更新中断 之前 ,可以先做更新中断标志的清除操作。
说明:资料中提供了很多案例说明,以及分析,我觉得比较好,方便大家理解。请多理解一下这些案例。
RINT5611C
RINT5611C