“Delay(ms)”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
(以“<pre style="color:blue"> void delay (unsigned long ms) </pre> 延時(毫秒) <br> 延時, 單位毫秒(1秒有1000毫秒).<br> 警告:<br> 參數(shù)為unsigned l...”為內(nèi)容創(chuàng)建頁面)
 

2014年9月12日 (五) 14:23的最后版本

void delay (unsigned long ms)   

延時(毫秒)

延時, 單位毫秒(1秒有1000毫秒).


警告:
參數(shù)為unsigned long, 因此在延時參數(shù)超過32767(int型最大值)時, 需要用"UL"后綴表示為無符號 長整型, 例如: delay(60000UL);. 同樣在參數(shù)表達(dá)式, 切表達(dá)式中有int類型時, 需要強(qiáng)制轉(zhuǎn)換為 unsigned long類型, 例如: delay((unsigned long)tdelay * 100UL);.
一下例子設(shè)置13引腳對應(yīng)的LED等以1秒頻率閃爍:

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
}