2014-09-26 01.34.59

之前的Performance只是小試身手,這次要動真格的了,

首先就從新朋友Yun 開始,為什麼選擇Yun呢?因為它跟Leonardo一樣,都是ATMEGA32U4的CPU

而且我買回來才知道,這塊是Made In Taiwan的,很GOOD喔。

OK~話不多說,來看結果吧

螢幕截圖 2014-09-26 02.00.09  

 

這個程式一樣是在計算micros()-micros()的時間差,大部份都是0和4。少部分的8和12,極少數的16和20。
也就是說其實速度不太固定啊,不曉得這單晶片都作什麼去了。

程式碼在這裡下載

程式不小心被我寫成無窮迴圈,大家可以猜看看問題在哪裡喔。

65535(0xFFFF)+1就Overflow 變-65536(0x10000)了,所以j還是小於等於65535,變成無窮迴圈了(請反白)

測試結果的Raw Data在這裡下載


 

延伸閱讀(9/28更新)

1. http://arduino.cc/en/reference/micros
"On 16 MHz Arduino boards (e.g. Duemilanove and Nano), this function has a resolution of four microseconds (i.e. the value returned is always a multiple of four). On 8 MHz Arduino boards (e.g. the LilyPad), this function has a resolution of eight microseconds."

2. 這一頁中,有人提出了micros()的精確度問題,然後它自己寫了一個新的micros,詳情在下面網址

http://electricrcaircraftguy.blogspot.com/2014/02/Timer2Counter-more-precise-Arduino-micros-function.html#.VCefyvmSz2U

arrow
arrow
    全站熱搜

    qmaw 發表在 痞客邦 留言(0) 人氣()