0
我想爲此函數添加一個定時器,以便每次讀取它時都會重新啓動,並且可以設置另一個函數在達到特定時間後執行serial.write。我們稱之爲空閒時間函數。我無法將此與閱讀ID綁定,因爲我有可能正在閱讀的28個ID。我想通過serial.write通過ASCII命令重置我的音頻播放器,如果沒有讀取超過180秒的iud ...建議?Arduino上的空閒時間函數
if(uid[0] == 0x64 && uid[1] == 0xBF && uid[2] == 0xD8 && uid[3] == 0x51)
{
//pause at beginning
delay (500);
//Serial.write("for Bässgen MM3210")
Serial.write("listplay 1 1");
Serial.write(13);
//pause at end
delay (3000);
}
millis()根據文檔在9小時後溢出。我也需要在每次讀取uid後重置它。 – Automa 2014-10-13 07:00:04
http://arduino.cc/en/Reference/Millis顯示50天。每讀取一次uid,你所做的就是更新一個正在運行的變量(即:long prevMillis),然後在稍後的時間點測量時間,你可以使用prevMillis - Millis() – djUniversal 2014-10-13 14:13:40
使用Millis()的好處是它會計數沒有像delay()那樣持有線程,所以如果你不想要的話,你不需要中斷。 50天的限制不應該成爲一個問題,因爲我相信這個長期會回到起點,所以只要你注意到代碼中的大部分比較方程式,它仍然會工作。 – djUniversal 2014-10-13 14:20:24