本帖最后由 tsaiwn 于 2015-3-14 18:37 编辑
在 Arduino 官網至少有兩個 SimpleTimer 和一個也很簡單的 Timer 可用來"定時"做事:
很簡單, 但是有 Bug -- 有兩個錯誤!
但真的很簡單, 不必建立成庫, 直接複製放到你的程序最前面即可用!
而且要設定幾件事都可以, 都很簡單就可做到 !!
這個我是還沒看到Bug,
不過這個名稱雖是 SimpleTimer, 可一點也不 Simple,
它有九個函數(function), 對初學者真的不 Simple
Download:
不必 Download, 有兩個檔案 SimpleTimer.h 和 SimpleTimer.cpp
依據官網說明建立一個檔案夾 SimpleTimer, 用 複製/貼上把
官網上該兩個檔案建立到該檔案夾後拖放到你 Arduino IDE 的 libraries 內!
這個比較類似 (1), 真的也是 Simple, 雖然名稱沒有 Simple
有建立成一個庫, 加入這庫後要 #include "Timer.h"
Download: https://github.com/JChristensen/Timer
以上這三個都是使用 millis( ) 或 micros( )做事,
不是使用硬件的 timer0, timer1, timer2 中斷處理, 所以不必期望會非常精準 !!
如果你要比較準確的"定時"做事, 請看我寫的這幾篇:
使用 MsTimer2 庫定時做很多事(教程):
http://www.arduino.cn/thread-12435-1-1.html
使用TimerOne庫(Timer1)定時做多件事(教程):
http://www.arduino.cn/thread-12441-1-4.html
自己控制 timer1 計時器定時做多件事(教程):
http://www.arduino.cn/thread-12445-1-1.html
自己控制 timer2 定時器定時做多件事(教程)":
http://www.arduino.cn/thread-12448-1-1.html
補充設定 timer1 計時器和 timer2 定時器定時做多件事(教程)
http://www.arduino.cn/thread-12452-1-2.html
如果你要使用外部中斷, 請看奈何大神寫的這篇有趣文章:
http://www.arduino.cn/thread-2421-1-1.html
現在就來跟大家討論(1)的超級簡單 Timer
這個 Simpletimer的 class Timer原先是以 milli second 為單位,
以下我們把它改為以 us (micro second) 為單位,
但是使用時請注意, 因為這是使用 micros( )做事,
請注意micros( ) 一定是 4 的倍數,萬調用一次 micros( )就快要 2 us;