【TOSHIBA MCU 專欄介紹】東芝 MCU M3H - Timer 之旅導讀與設定分享

東芝 MCU M3H 系統的架構如下:



其中在 Timer 功能中,提供 8 個 32- bit 計時器,若是當成 16-bit 的計時器運用, 則有 16 個可以使用。 
可以參考在 Datasheet 中 32bit Timer Event Counter (T32A) 章節的說明。

接下來以 Interval Timer 的原理做說明:
要產生週期性的中斷,Counter計數器有兩種方式:



這裡以 Timer A 且採用 Up counting 方式,暫存器的設定如下:
1. 暫存器 [T32AxRELDA]  -> 設定 "0x0000"。
2. 暫存器 [T32AxRGA1]  -> 設定 期望多久可以產生一個中斷的時間常數。
3. 當計數 T32AxRELDA = T32AxRGA1 時,即產生一個中斷通知,之後自動重新啟動新的計數工作。




有了上述的基礎認知後,我們試著下載範例程式來改看看,並觀察其變化。
範例程式的載點:
https://toshiba.semicon-storage.com/tw/semiconductor/product/microcontrollers/software-library/m3h-group.html#2
下載名稱 - TMPM3HQ





之後用 IAR 開啟 T32A_LED.eww 專案 (TMPM3Hy_v1.2.0\Project\Examples\T32A\Timer_LED)。
這個範例是 1 秒的 LED 週期閃爍,波型如下:



我們嘗試修改成 500 ms 閃爍一次 LED:
在 driver_initialize 函數中,修改時間常數為 500。



然後重新編譯並下載至開發板,即可觀察到如下的波型:




同理可證,2 秒的週期性閃爍波型如下:





參考資料:

TXZ+ Fmaily TMPM3H Group(1) Datasheet.pdf
M3H(2)_T32A-B_LED_application_note_en_20180518.pdf


IAR 的環境搭建,請參考此篇博文: TOSHIBA MCU 環境搭建與實作 GPIO 

歡迎大家至 TOSHIBA(東芝)官網,了解更多在馬達控制,A-IoT,儲存,網通,車載,工控上應用之解決產品。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能