定时器,使用库,希望可以实现中断延时,达到毫秒级
下边这样配置后,中断的延时大概2ms多一点(测试过)
1.是否是我下面程序设置的问题呢?
2.还是我系统定时器的初始化有问题?
3.应该怎样配置呢?
请高手指点一下,不胜感激,以分款待~
void TimDelay1(u16 Time)//使用定时器4 以中断方式延时 ms
{
TIM_ClearITPendingBit(TIM4, TIM_IT_CC1);
TIM_SetCompare1(TIM4, TIM4->CNT + Time);
TIM_ITConfig(TIM4, TIM_IT_CC1,ENABLE);
}
void TimDelay2(u16 Time)//使用定时器4 以中断方式延时 ms
{
TIM_ClearITPendingBit(TIM4, TIM_IT_CC2);
TIM_SetCompare2(TIM4, TIM4->CNT + Time);
TIM_ITConfig(TIM4, TIM_IT_CC2,ENABLE);
}
void TimDelay3(u16 Time)//使用定时器4 以中断方式延时 ms
{
TIM_ClearITPendingBit(TIM4, TIM_IT_CC3);
TIM_SetCompare3(TIM4, TIM4->CNT + Time);
TIM_ITConfig(TIM4, TIM_IT_CC3,ENABLE);
}
void TimDelay4(u16 Time)//使用定时器4 以中断方式延时 ms
{
TIM_ClearITPendingBit(TIM4, TIM_IT_CC4);
TIM_SetCompare4(TIM4, TIM4->CNT + Time);
TIM_ITConfig(TIM4, TIM_IT_CC4,ENABLE);
}
|