5901浏览
查看: 5901|回复: 2

[讨论] 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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail