定时器,使用库,希望可以实现中断延时,达到毫秒级
下边这样配置后,中断的延时大概2ms多一点(测试过)
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);
} |