STM32F407的定时器1,2,3,4,5,8都被用了现在有一个芯片需要硬延时来实现读写 可使用定时器9 定时时间不能精确到1us,希望看到的朋友多多帮忙。
void TIM9_Init_Query(void)
{
TIM_TimeBaseInitTypeDef TIME;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM9,ENABLE);
TIME.TIM_Period=1;
TIME.TIM_Prescaler=1;
TIME.TIM_ClockDivision=0;
TIME.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM9,&TIME);
}
void _delay_us(u32 nTime)
{
u16 counter=nTime&0xffff;
TIM_Cmd(TIM9,ENABLE);
TIM_SetCounter(TIM9,counter);
while(counter>1)
{
counter=TIM_GetCounter(TIM9);
}
TIM_Cmd(TIM9,DISABLE);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>