推 chuegou: 看起來是timer的中斷flag在isr裡沒清掉... 04/12 19:14
→ chuegou: 可是你又說gpio確定是1us 04/12 19:16
→ asdrtyjkl925: 對耶!!我真的沒清Flag!!卡住的原因應該是這個 04/12 19:57
→ asdrtyjkl925: 感謝提醒:) 不過也真的有量到1us,明天再看看是怎 04/12 19:59
→ asdrtyjkl925: 麼回事 04/12 19:59
推 m490521: tick就是很簡單的timer 04/12 20:58
→ m490521: 通常會拿來做RTOS的timebase 04/12 20:58
推 m490521: timer除了記時,通常還可以跟其他東西連動 04/12 21:02
推 m490521: 比如觸發adc轉換,pwm,capture等 04/12 21:04
→ asdrtyjkl925: 了解 感謝樓上:) 04/13 09:23
→ asdrtyjkl925: 昨天可能眼殘了,今天仔細一看timer沒清flag的話 04/13 11:52
→ asdrtyjkl925: 用gpio量每次的間隔才0.87us XD 04/13 11:52
→ asdrtyjkl925: 有清flag就真的是1us,感謝大大指點迷津:D 04/13 11:52
因為我也有用OLED(控制的IC是SSD1305)
timer清了flag之後
肉眼感覺上畫面更新速率比用tick還快
所以另外做了量測:
tick和timer在設定間隔1us
將OLED畫面填滿
分別計算兩者情況下所需要的時間
開timer,關tick,所需時間為22.8ms
關timer,開tick,所需時間為99.0ms
兩者都關掉,所需時間為22.6ms
這樣看來用tick會比較影響系統效能
是因為這顆MCU的特性嗎?
是否若換了另一顆MCU,可能就會有不同的結果?
※ 編輯: asdrtyjkl925 (60.251.239.113), 04/13/2017 11:53:33
推 chuegou: systick設定有問題吧? 差4倍不合理阿 04/13 12:48
→ asdrtyjkl925: 好喔 設定是直接Copy example的 還沒仔細去看 等 04/13 16:48
→ asdrtyjkl925: 等回去公司後來逐行突破:) 04/13 16:48
→ asdrtyjkl925: 近期要處理其它案子,這個問題要暫時先擱置了ˊˋ 04/17 19:28