CranberryYam 发表于 2015-3-14 20:25:30

digitalWrite打断程序进程

各位大神,我的程序if里面用到了有关millis()的判断条件,使用了digitalWrite操作后,程序就会被打断,请问是怎样一回事?

hnyzcj 发表于 2015-3-14 20:59:42

本帖最后由 hnyzcj 于 2015-3-14 21:03 编辑

时间函数3.4.1   millis( )应用millis函数可获取机器运行的时间长度,单位ms。系统最长的记录时间为9小时22分,如果超出时间将从0开始。函数返回值为unsigned long型,无参数。函数原型如下:

hnyzcj 发表于 2015-3-14 20:59:51

本帖最后由 hnyzcj 于 2015-3-14 21:03 编辑

unsigned long millis()
{
      unsigned long m;
      uint8_t oldSREG = SREG;      cli();
      m = timer0_millis;
      SREG = oldSREG;      return m;
}注意:函数返回值为unsigned long型,如果用int型保存时间将得到错误结果。可以在开发环境的下列实例程序中找到millis函数的应用:BlinkWithoutDelay.pde、Calibration.pde、Debounce.pde
页: [1]
查看完整版本: digitalWrite打断程序进程