博客专栏

EEPW首页 > 博客 > 软件延时函数的问题

软件延时函数的问题

发布人:电子禅石 时间:2017-12-12 来源:工程师 发布文章

使用STM8L101F3P6 实现一个50分钟的充电循环,充一分钟,停止1s,进行检测;使用下面的延时函数,发现,到最后的十几分钟,这个循环会被打乱。原因暂时还没找到。


//延时毫秒

 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);

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:

相关推荐

技术专区

关闭