void TIM2_Config(void)
{
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_2,50);//定时器设置1M的计数频率,1US的分辨率 ,计时50us
TIM2_ClearFlag(TIM2_FLAG_UPDATE);
TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);
TIM2_Cmd(ENABLE);
}
大家看看这个程序,没有啥问题啊?为什么会不准确
为了测试一下,我在中断函数里做了一下测试:500ms闪烁,但是结果要差不多1S了???
u16 t,k;;
void Time2InitFun(void)
{
if(TIM2_GetITStatus(TIM2_IT_UPDATE)==SET)
{
t++;
if(t==100)
{
t=0;
k++;
if(k=100)
{
k=0;
GPIO_WriteReverse(LED_GPIO_PORT,LED_GPIO_PINS1);
}
}
TIM2_ClearITPendingBit(TIM2_IT_UPDATE);
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>