簡體   English   中英

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 行,您定義了一個變量,該變量保存從 start 開始經過的時間,然后在 while 循環中檢索當前的 millis(),直到它大於 250 毫秒。

例子:

long dly = millis(); => Say millis = 1250,
inside while loop => millis will update itself until its 1500

本質上,代碼等待 250 毫秒。 每次 while 循環運行時,它都會返回當前的毫秒數,您的假設是它將返回舊值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM