//定时器2配置,1毫秒产生一次中断,用于系统计时
void TIM2_Init(void)
{CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);//将主时钟信号送给定时器4(L系列单片机必需)
TIM2_TimeBaseInit(TIM2_Prescaler_16,TIM2_CounterMode_Up,0x7D); //定时器4,将主时钟16分频.自动装载FA=125
TIM2_SetCounter(0xFA); //设定计数值FA=125
TIM2_ITConfig(TIM2_IT_Update,ENABLE);
TIM2_ARRPreloadConfig(ENABLE);
TIM2_Cmd(ENABLE); //计数器使能,开始计数
}
/*
****************************************************************************
* INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_IRQHandler, 19)
* 功能描述: TIM2中断处理函数,产生1毫秒中断,用于计时
* 返 回 值:无
****************************************************************************
*/
//中断处理函数,在中断中累加数据
INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_IRQHandler, 19)//TIM2中断处理函数,产生1毫秒中断,用于计时
{
TIM2_ClearFlag(TIM2_FLAG_Update); //清中断标志位
ms2_cn

这篇博客介绍了如何使用STM8L101的TIM2定时器配置为1毫秒中断,用作系统计时器。在中断处理函数中,实现了计时累加,并在特定时间间隔执行不同任务,如10毫秒、100毫秒和1秒任务。此外,还展示了主函数的运行流程和不同模式下的操作。

9295

被折叠的 条评论
为什么被折叠?



