|
在arduino 編程中經(jīng)常需要使用delay()使功能延時一定時間再執(zhí)行,但是使用delay()后單片機(jī)整個都在停頓中,干擾了其他動作。這時候創(chuàng)客集結(jié)號推薦使用millis()來實(shí)現(xiàn)定時或者延時的效果。
unsigned long millis(void);
系統(tǒng)運(yùn)行時間函數(shù),記錄了單片機(jī)開機(jī)運(yùn)行時間。可以使用一個變量來記錄當(dāng)前時間點(diǎn),然后判斷系統(tǒng)運(yùn)行時間與記錄的時間點(diǎn)的差來實(shí)現(xiàn)延時的效果。
例如:
unsigned long oldtime=0;
void setup(){
Serial.begin(9600);
}
void loop()
{
if(millis() - oldtime >1000){
oldtime=millis();//更新時間點(diǎn)
Serial.println("hello world!");
}
}
這樣就能通過millis()函數(shù)時間無阻塞運(yùn)行程序了。若想學(xué)習(xí)更多arduino知識和教程,可搜索創(chuàng)客集結(jié)號或xk100com。
|
|