我按照官网设置定时器结果发现定时器慢了10倍,按原子的方式设置500ms的定时结果定时变成5S。不知道有没有人遇到我这种情况,以前程序是可以的。程序就开启了定时器其他都什么功能都没有。不知道是不是板子硬件坏了还是配置哪里出错了。配置如下,望高手赐教一下。
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
/* Enable TIM2, TIM3 and TIM4 clocks */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3, ENABLE);
/* TIM2 configuration */
TIM_TimeBaseStructure.TIM_Period = 4999;
TIM_TimeBaseStructure.TIM_Prescaler = 7199;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_PrescalerConfig(TIM2, 7199, TIM_PSCReloadMode_Immediate);
TIM_ClearFlag(TIM2, TIM_FLAG_Update);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
/* Enable the TIM2 Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* Enable TIM2, TIM3 and TIM4 Update interrupts */
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
/* TIM2, TIM3 and TIM4 enable counters */
TIM_Cmd(TIM2, ENABLE);
|