这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 反复调用延时函数注意哪些呢?

共3条 1/1 1 跳转至

反复调用延时函数注意哪些呢?

工程师
2017-12-13 04:10:11     打赏

就实现个50分钟充电的逻辑,充电一分钟,停1s,接着再充,就用最简单的软件延时来实现,发现不是定时精度的问题,定时前面半个小时,都还好,到后面10来分钟,整个定时的逻辑就乱了,一个停止40S,一会充电20s,好郁闷。都不知道问题出在哪里?

附上代码?大家帮忙看看。


/延时毫秒

 void Delayms(__IO uint16_t  time)

{

 // static unsigned int i;

  while(time--){

   // for(i=900;i>0;i--)

    for(uint8_t i=180;i>0;i--)//100

    {

     // Delayus();

       asm("nop"); 

       asm("nop");

       asm("nop");

       asm("nop");

       asm("nop");

       asm("nop");

       asm("nop");

       asm("nop");

       asm("nop");

       asm("nop");

    }

  }

}

/秒延时

void DelayS(__IO uint8_t stime)

{

  while(stime--)

  {

    Delayms(800);//1000

  }

}

主程序就是:DelayS(60)   DelayS(1);




关键词: 延时    

专家
2017-12-13 08:27:09     打赏
2楼

长时间的延时,建议使用定时器。


专家
2017-12-13 08:38:10     打赏
3楼

嗯嗯,使用定时器



共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]