使用STM8L151F3P6编程,调用TIM4定时器
使用TIM2和TIM3都很好用,但不够用。使用TIM4定时器,用中断服务程序来编写一个软件计数器。不论如何初始化编程,TIM4就是不能进入中断,void Tim4_Init(void){
TIM4_TimeBaseInit(TIM4_Prescaler_16,250);//TIM3时基初始化
TIM4_ARRPreloadConfig(ENABLE);//使能自动重装(250)
TIM4_ITConfig(TIM4_IT_Update, ENABLE);//数据更新中断(0)
TIM4_Cmd(ENABLE);//开定时器4
}
不知如何是好,中断服务程序如下:用LED1作指示,高电平点亮。
INTERRUPT_HANDLER(TIM4_UPD_OVF_TRG_IRQHandler,25)
{
LED1_H;//点亮
static u16 w=0;//加热周期-(250(T4)X40000=10S)局部静态变量
if(w<40000) //创建副开关计数器
{
w++;
}
else //计数溢出
{
w=0;
LED2_H;//点亮
TIM2_Cmd(ENABLE);//开启定时器2
TIM3_Cmd(ENABLE);//开启定时器3
}
TIM4_ClearITPendingBit(TIM4_IT_Update);//清除更新中断标志位
}
敬请高手点拨!
LED1不亮表明TIM4未进入中断。
看着还可以啊,仿真看看寄存器的数值 本帖最后由 wenyangzeng 于 2019-5-20 17:44 编辑
使用基本定时器中断应该就可以了。 bj15543771902 发表于 2019-5-20 15:20
LED1不亮表明TIM4未进入中断。
定时器时钟开了吗?
页:
[1]