digitalWrite打断程序进程

2015-03-141.2万
AI 快速预览详细 收起
本文讨论了在Arduino编程中使用digitalWrite操作后程序被打断的问题。通过具体的故障表现和详细的故障排查步骤,帮助开发者快速定位并修复问题,提升代码的稳定性和可靠性。
各位大神,我的程序if里面用到了有关millis()的判断条件,使用了digitalWrite操作后,程序就会被打断,请问是怎样一回事?

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
hnyzcj
hnyzcj
[p=28, 2, left][font=宋体]unsigned long millis()
{
unsigned long m;
uint8_t oldSREG = SREG;[/font]
[/p][p=28, 2, left][font=宋体] cli();
m = timer0_millis;
SREG = oldSREG;[/font]
[/p][p=28, 2, left][font=宋体] return m;
}[/font]
[/p][p=28, 2, left][font=宋体]注意:函数返回值为unsigned long型,如果用int型保存时间将得到错误结果。[/font][/p][p=28, 2, left][font=宋体]可以在开发环境的下列实例程序中找到millis函数的应用:[/font][/p][p=28, 2, left][font=宋体]BlinkWithoutDelay.pde、Calibration.pde、Debounce.pde[/font][/p]
hnyzcj
hnyzcj
[p=28, 2, left][font=宋体]时间函数[/font][/p][p=28, 2, left][font=宋体]3.4.1 millis( )[/font][/p][p=28, 2, left][font=宋体]应用millis函数可获取机器运行的时间长度,单位ms。系统最长的记录时间为9小时22分,如果超出时间将从0开始。函数返回值为unsigned long型,无参数。函数原型如下:
[/font]
[/p]
- 没有更多了 -