求教 stm8 微秒精确延时问题

2019-07-14 22:26发布

在用ds18b20温度传感器,微妙级别要求。
求教
我设置的一分频 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
用下边的微秒延时,总是都不出来,有点怀疑是延时问题,哪位大神帮忙分析下
void delay_us(u16 z)     //微秒延时
{
  while(z--)
  {
    nop();nop();nop();nop();
  }
}

下边的us延时行得通吗?
/****stm2查询法***/
void delay_us(u16 i)  
{
tiM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_1,16);
while (i--)
{
TIM2_Cmd(ENABLE);
while (TIM2_GetFlagStatus(TIM2_FLAG_UPDATE )!=1);
TIM2_ClearFlag(TIM2_FLAG_UPDATE);
TIM2_Cmd(DISABLE);
}
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。