单片机/MCU论坛
直播中

俞舟群

7年用户 1058经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

定时器TIM5进不了中断如何解决?

我用F107的板子,准备每隔0.5进一次定时器中断,可是发现程序没有进中断,我用LED能否点亮来判断有没有进中断,结果灯不亮,我检查我的配置,也没发现什么问题,请大神帮我看看,分析分析,感谢!!!
//定时器5初始化
//定时0.5s每0.5s进一次定时中断
void tiM5_Enable(u16 arr)
{
         TIM_TimebaseInitTypeDef TIM_TimebaseStructure;
   NVIC_InitTypeDef NVIC_InitStructure;
         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5ENABLE);
         TIM_TimebaseStructure.TIM_ClockDivision=0;
         TIM_TimebaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
         TIM_TimebaseStructure.TIM_Period=arr;//arr=4999
         TIM_TimebaseStructure.TIM_Prescaler=7199;
         TIM_TimebaseStructure.TIM_RepetitionCounter=0;
         TIM_TimebaseInit(TIM5 TIM_TimebaseStructure);
         
         NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn;
         NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
         NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
         NVIC_Init( NVIC_InitStructure);
         TIM_ClearITPendingBit(TIM5TIM_IT_Update);
         TIM_ITConfig(TIM5TIM_IT_UpdateENABLE);
         TIM_Cmd(TIM5ENABLE);
}

void TIM5_IRQHanler(void)//TIM5中断
{
         if(TIM_GetITStatus(TIM5TIM_IT_Update)==SET) //检查指定的TIM中断发生与否:TIM 中断源
         {
                 TIM_ClearITPendingBit(TIM5TIM_IT_Update);//清除TIMx的中断待处理位:TIM 中断源 ;
     if(TX_RX_SET==0)               
                 {
                  LED_RUN=1;
                   printf("1111/r/n");
      RS485_SendData();
           }
}
}



更多回帖

发帖
×
20
完善资料,
赚取积分