Arduino millis() - millis() 怎么能等于 0 以外的任何东西?
How can Arduino millis() - millis() equal anything other than 0?
所以我知道millis((返回自程序开始运行以来经过的时间,对吧?
现在我遇到了在这样的延迟中使用millis((的情况:
long dly = millis();
while (millis() - dly < 250) {
yield(); // enough time to send response
}
millis() - dly
的值怎么能大于 0? 如果重点是无限期地屈服,为什么有人会使用这样的延迟?
我不是 ardunio 程序员,但看看代码:
long dly = millis();
while (millis() - dly < 250) {
yield(); // enough time to send response
}
在第 1 行,您定义一个变量,该变量保存自开始以来经过的时间,然后在 while 循环中检索当前的 millis((,直到它大于 250ms。
例:
long dly = millis(); => Say millis = 1250,
inside while loop => millis will update itself until its 1500
本质上,代码等待 250 毫秒。每次循环运行时,它都会返回当前的毫秒,你的假设是它将返回旧值。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 如何在不产生任何垃圾的情况下获得C中的像素
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- C++映射有2个键,这样任何1个键都可以用来获取值
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- RtlCaptureStackBackTrace未捕获任何帧
- 链表c++插入,所有情况都已检查,但没有任何工作
- C++模板函数,用于比较任何无符号整数和有符号整数
- Arduino millis() - millis() 怎么能等于 0 以外的任何东西?
- 尝试摆脱任何堆内存分配
- 是否有任何C++功能可以对地图进行排序?
- 打印时有二叉树问题.用户输入不打印任何内容
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- 在C++行尾写一个分号或多个分号是否会改变任何内容
- C++类型特征,以查看是否可以<uint32_t>对类型"K"的任何变量调用"static_cast(k)"
- C++ 将 CIN 值存储到任何类型的数组中
- 为什么瓦尔格林德在不释放恶意内存后没有报告任何问题?
- GStreamer在开始任何播放之前进行搜索
- 如何使用C 在Arduino上制作LED闪光灯,但除了Millis()之外,没有使用任何功能