stm32通用定时器中TIM5和TIM2、TIM3、TIM4的区别??
我编写的程序,用四个通用定时器实现同样的功能,TIM2、TIM3、TIM4可以实现,但是TIM5不能,为什么啊??每个通用定时器的初始化和中断处理都是一样的,调试的时候发...
我编写的程序,用四个通用定时器实现同样的功能,TIM2、TIM3、TIM4可以实现,但是TIM5不能,为什么啊??
每个通用定时器的初始化和中断处理都是一样的,调试的时候发现只有TIM5的中断处理程序没有进入过。我实现的功能是用TIM2控制TIM3、TIM4T和IM5定时产生多路PWM信号。
TIM5中断处理程序如下:
void TIM5_IRQHandler(void)
{
if(TIM_GetITStatus(TIM5,TIM_IT_Update)!=RESET)
{
TIM_ClearITPendingBit(TIM5,TIM_FLAG_Update);
TIM_Cmd(TIM5,DISABLE);
switch(Cnt)
{
case 0: GPIO_ResetBits(GPIOC, GPIO_Pin_0); break;
case 1: GPIO_ResetBits(GPIOC, GPIO_Pin_1); break;
case 2: GPIO_ResetBits(GPIOC, GPIO_Pin_2); break;
case 3: GPIO_ResetBits(GPIOC, GPIO_Pin_3); break;
}
}
} 展开
每个通用定时器的初始化和中断处理都是一样的,调试的时候发现只有TIM5的中断处理程序没有进入过。我实现的功能是用TIM2控制TIM3、TIM4T和IM5定时产生多路PWM信号。
TIM5中断处理程序如下:
void TIM5_IRQHandler(void)
{
if(TIM_GetITStatus(TIM5,TIM_IT_Update)!=RESET)
{
TIM_ClearITPendingBit(TIM5,TIM_FLAG_Update);
TIM_Cmd(TIM5,DISABLE);
switch(Cnt)
{
case 0: GPIO_ResetBits(GPIOC, GPIO_Pin_0); break;
case 1: GPIO_ResetBits(GPIOC, GPIO_Pin_1); break;
case 2: GPIO_ResetBits(GPIOC, GPIO_Pin_2); break;
case 3: GPIO_ResetBits(GPIOC, GPIO_Pin_3); break;
}
}
} 展开
3个回答
展开全部
stm32具体哪个型号的ARM,有些型号是只有TIM1~TIM4的,你用TIM5肯定不能咯!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中端片子没有TIM5 例如c8t6
追问
可是在keil里面的资料介绍里是有TIM5的啊。
追答
要看芯片资料
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没什么去别,只是有的型号没有TIM5的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询