1. 程式人生 > 其它 >7-HC32F460(華大微控制器)-定時器Timer0

7-HC32F460(華大微控制器)-定時器Timer0

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnHC32F460" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

什麼是定時器?定時器具體是怎麼到了時間進去中斷的?

定時器裡面是啥?就是個計數器.定時器的時鐘,就是計數器的時鐘.假設計數器的時鐘是1Hz

假設設定了計數器計數到1的時候就進入中斷,那麼就是每隔1S進入中斷了.

假設計數器的時鐘是42MHz,我想每隔1ms進入一次中斷,我應該設定計數值是多少呢???

計數器記一次是 1/42000000 秒 1/42000 毫秒

需要多少個1/42000 毫秒 才能到1ms呢? 1/(1/42000) = 42000

定時多少毫秒,設定初值可以寫成 X*42000 X就是要定時的ms數

測試這節的程式

1.這節是在定時器中斷裡面控制gpio翻轉

2.下載以後會看到連線在PC13上面的led亮滅(1S間隔)

程式說明

1.定時器Timer0 的時鐘是 PCLK1

2.設定定時器Timer0 的時鐘

3.設定定時器Timer0 每隔1ms執行中斷

關於Timer0的詳細資料

其它可以參考官方例程