使用
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);//清除更新中断标志位
}
敬请高手点拨!