初级会员

- 积分
- 83
- 金钱
- 83
- 注册时间
- 2020-11-17
- 在线时间
- 43 小时
|
20金钱
我用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_TIM5,ENABLE);
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(TIM5,TIM_IT_Update);
TIM_ITConfig(TIM5,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM5,ENABLE);
}
void TIM5_IRQHanler(void)//TIM5中断
{
if(TIM_GetITStatus(TIM5,TIM_IT_Update)==SET) //检查指定的TIM中断发生与否:TIM 中断源
{
TIM_ClearITPendingBit(TIM5,TIM_IT_Update);//清除TIMx的中断待处理位:TIM 中断源 ;
if(TX_RX_SET==0)
{
LED_RUN=1;
printf("1111/r/n");
RS485_SendData();
}
}
}
|
|