[時間]
說明
暫停程序指定為參數的時間量(以毫秒為單位)。 (一秒鍾有 1000 毫秒。)
用法
delay(ms)
參數
ms
:暫停的毫秒數。允許的數據類型:unsigned long
。
返回
無
示例代碼
代碼在切換輸出引腳之前暫停程序一秒鍾。
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()
有很大的缺點。在延遲函數期間,無法繼續讀取傳感器、數學計算或引腳操作,因此實際上,它會使大多數其他活動停止。有關控製時序的替代方法,請參見Blink Without Delay 草圖,它會循環輪詢millis() 函數,直到經過足夠的時間。知識淵博的程序員通常避免使用delay()
來對超過 10 毫秒的事件進行計時,除非 Arduino 草圖非常簡單。
但是,當delay() 函數控製 Atmega 芯片時,某些事情會繼續進行,因為延遲函數不會禁用中斷。記錄出現在 RX 引腳上的串行通信,維持 PWM (analogWrite) 值和引腳狀態,並且 interrupts 將正常工作。
相關用法
- Arduino delayMicroseconds()用法及代碼示例
- Arduino digitalWrite()用法及代碼示例
- Arduino digitalRead()用法及代碼示例
- Arduino do...while用法及代碼示例
- Arduino long用法及代碼示例
- Arduino Arduino_EMBRYO_2 - setLengthXY()用法及代碼示例
- Arduino ~用法及代碼示例
- Arduino ArduinoBLE - bleDevice.advertisedServiceUuidCount()用法及代碼示例
- Arduino const用法及代碼示例
- Arduino Ethernet - server.begin()用法及代碼示例
- Arduino ArduinoBLE - BLEService()用法及代碼示例
- Arduino ArduinoBLE - bleCharacteristic.subscribe()用法及代碼示例
- Arduino Servo - attach()用法及代碼示例
- Arduino write()用法及代碼示例
- Arduino Arduino_LSM9DS1 - readGyroscope()用法及代碼示例
- Arduino ArduinoSound - FFTAnalyzer.input()用法及代碼示例
- Arduino MKRGSM - gprs.attachGPRS()用法及代碼示例
- Arduino WiFiNINA - WiFi.config()用法及代碼示例
- Arduino MKRGSM - sms.read()用法及代碼示例
- Arduino MKRNB - getCurrentCarrier()用法及代碼示例
- Arduino Scheduler - Scheduler.startLoop()用法及代碼示例
- Arduino Arduino_LSM9DS1 - magneticFieldAvailable()用法及代碼示例
- Arduino MKRWAN - available()用法及代碼示例
- Arduino ArduinoBLE - BLE.poll()用法及代碼示例
- Arduino ArduinoBLE - bleCharacteristic.hasDescriptor()用法及代碼示例
注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 delay()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。