中级会员
 
- 积分
- 223
- 金钱
- 223
- 注册时间
- 2016-8-11
- 在线时间
- 64 小时
|

楼主 |
发表于 2017-4-7 10:38:58
|
显示全部楼层
void TIM3_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
Ctrl_Data.laser_state = SET;
TIM_TimeBaseStructure.TIM_Period = 200;
TIM_TimeBaseStructure.TIM_Prescaler = 23999;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
/* Enable the TIM3 gloabal Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
TIM_ARRPreloadConfig (TIM3,ENABLE);
TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除TIMx更新中断标志
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
TIM_Cmd(TIM3, DISABLE);
}
void TIM2_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
TIM_TimeBaseStructure.TIM_Period = 200;
TIM_TimeBaseStructure.TIM_Prescaler = 23999;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
/* Enable the TIM3 gloabal Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
TIM_ARRPreloadConfig (TIM2,ENABLE);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除TIMx更新中断标志
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_Cmd(TIM2, DISABLE);
}
这些是app中定时器的初始化函数。
定时器会在收到串口的数据后打开。串口接收是用中断做的。app能接收到数据,但是定时器中断却没有运行。 |
|