打印

STM32VET6 TIM5不能进定时中断

[复制链接]
4596|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fanwei326|  楼主 | 2013-7-17 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初学STM32, 这几天在学定时器中断,发现TIM2~TIM4都正常,但同样的代码用到TIM5上就不能进中断,在论坛上查过也有别的兄弟遇到过同样的问题,但基本上都是中断入口函数里没有TIM5中断。
但我用的是startup_stm32f10x_hd.s, 里面有TIM5_IRQHandler,TIM5的配置也和TIM2~4一样,只是更改里面相关的编号为5而已,但就是不能进TIM5中断,程序也没有跑飞,其它功能还在正常运行。
请各位用过TIM5的兄弟指点一上,TIM5是否需要什么特别的设置?下面是代码:

void TIM5_IRQHandler(void)
{
   if(TIM_GetITStatus(TIM5,TIM_IT_Update)!=RESET)
   {
            TIM_ClearITPendingBit(TIM5,TIM_IT_Update); //清除中断标志
            LED1=!LED1;
   }  
}

void Timer5_Configuration(void)
{
  TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure;
  NVIC_InitTypeDef NVIC_InitStructure;
  
  //------------------------------------------------------------
  //打开定时器的时钟
   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);    //TIM5时钟开启
  //------------------------------------------------------------
  
  //TIMx寄存器重设为缺省值
  TIM_DeInit(TIM5);
  
   TIM_TimeBaseStructure.TIM_Period=1;   //自动重装载寄存器周期的值
   TIM_TimeBaseStructure.TIM_Prescaler=3599;  //TIMx 时钟频率除数的预分频值
   TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //采样分频 0x0000   TIM5->CR1  = 0
   TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式  0x0000
   TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);
  
   TIM_PrescalerConfig(TIM5,3600-1,TIM_PSCReloadMode_Immediate);//时钟分频系数,定时器100uS TIM5->PSC  = 0x8C9F=36000-1
   TIM_ARRPreloadConfig(TIM5, ENABLE);//ARR预装载缓冲器    TIMx->CR1 &= CR1_ARPE_Reset(0x037F);
   
    TIM_ClearITPendingBit(TIM5,TIM_IT_Update);  //清除中断标志
    TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_Trigger,ENABLE);  //更新中断使能寄存器 
   TIM_Cmd(TIM5, ENABLE); //开启时钟 TIM5->CR1 |= CR1_CEN_Set(0x0001);
  
  //------------------------------------------------------------
   //配置TIM5中断
   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
   NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;
   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
   NVIC_Init(&NVIC_InitStructure);
}
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

56

帖子

3

粉丝