mills()替代delay()的實驗 記得在網路上看到一些教學,提到delay()的狀態下會停止部件的 運作,這樣會暫停包含在整個及函式裡的程式碼。 mills() 函式返回型別為 unsigned long 的無符號變數 以下是呼叫 mills() 印出來的數值 unsigned long currenTime ; void setup (){ Serial . begin ( 115200 ); } void loop (){ currenTime = millis (); Serial . println ( currenTime ); delay ( 1000 ); } ----------------------------------------------------------------------- --- More details at http: //bit.ly/pio-monitor-filters --- Miniterm on COM10 115200 , 8 ,N, 1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- 7033 8033 9033 10033 11033 12033 13033 14033 15033 16033 17033 18033 19033 20033 可以看到它以1000毫秒一直往上增加,所以這可以紀錄經過的時間 和取得當下的經過的時間。 我自己理解的寫法公式 如果( 新的時間 — 舊的時間 >= 暫停週期的時間 ) 舊的時間 = 新的時間 我以控制LED為練習 上傳之後,LED會一秒閃爍一次,和 delay() 有一樣的作用 const int led = 18 ; int ledSatus = LOW ; unsigned long oldTime = millis (); void setup (){ Serial . begin ( 115200 ); pinMode ( led , OUTPUT ); ledSatus = LOW ; } v