Delay()
從 YFRobotwiki
描述
暫停程序指定為參數的時間量(以毫秒為單位)。 (一秒鐘內有1000毫秒)
語法
delay(ms)
參數
ms: 要暫停的毫秒數(unsigned long)
返回
nothing
示例
int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
警告
雖然使用delay()函數創建閃爍的LED很容易,並且許多草圖對於諸如開關去抖動之類的任務使用短延遲,但在草圖中使用delay()具有顯着的缺點。 在延遲功能中,傳感器,數學計算或引腳操作的其他讀數都不能繼續,因此實際上它會使大部分其他活動停止。 對於控制時序的其他方法,請參閱下面的millis()函數和草圖。 更多知識淵博的程序員通常避免對延遲超過10毫秒的事件定時使用delay(),除非Arduino素描非常簡單。
某些事情會繼續進行,而delay()函數則控制Atmega芯片,因為延遲功能不會禁止中斷。 記錄RX引腳上出現的串行通訊,維持PWM(analogWrite)值和引腳狀態,並且中斷(interrupts)將按原樣工作。
擴展閱讀
更多建議和問題歡迎反饋至 YFRobot論壇