NXP LPC55S06 MRT 章節介紹及基本程式範例

  • MRT (Multi-Rate Timer)
1.  24 位元中斷定時器
2.  四個可獨立設置的倒數計時器
3.  具三種模式,重複中斷、一次性中斷和一次性總線停頓模式。
   
       * NXP LPC55S0x/LPC550x user maunal ( UM11424.pdf page 506 ) 

  • Repeat interrupt mode
當計時器處於空閒狀態時,向 INTVAL 暫存器寫入一個非零值,透過對 IVALUE - 1,計時器開始倒計時。 當計時器到零時,產生一個中斷,INTVAL 暫存器IVALUE 中的值被自動重新加載,定時器再次開始倒計時。
  • One-shot interrupt mode
當計時器處於空閒狀態時,向 INTVAL 暫存器寫入一個非零值,透過對 IVALUE - 1,計時器開始倒計時。 當計時器到零時,產生一個中斷,定時器停止,進入空閒狀態。
  • One-shot stall mode
當兩個軟體控制的事件之間需要短暫的延遲時,可以使用總線停頓模式。 由於在此模式下,CPU 內核停止,在此期間消耗最少的功率,直到 MRT 計數器達到零。


  • MRT 暫存器

* NXP LPC55S0x/LPC550x user maunal ( UM11424.pdf page 508 ) 

1.  INTVAL : 設定 MRT 倒數時間間隔值
2.  TIMER : 可讀取倒數器的值
3.  CTRL : MRT 的中斷控制和模式選擇
4.  STAT : MRT 的狀態暫存器

  • MRT 為 100 ms 後 toggle LED 燈輸出狀態程式範例
1.  先執行 MRT 模塊的初始化。設定 System control,透過 AHBCLKCTRL 啟動 MRT 模塊的 clock,並透過 PRESETCTRL 將其模塊重置

    

2.  
設定 MRT CHANNEL 中 24 bits 的倒數時間間隔值,因 system clock is 96 MHz,欲產生 100 ms 計數,其計數量應為 9.6 M 次,並設置中斷及為重複模式

     

3.  中斷設置,先清除中斷狀態值,再由 NVIC 開啟 MRT 中斷功能

     

4.  設立中斷函式,當 MRT 計數歸 0 時進入中斷,進入中斷後切換 LED 燈輸出狀態,再清除中斷旗標並結束中斷函示

     

5.  LED 燈 100 ms toggle 示波器波形圖

     

* 註一 : 圖片來源 NXP LPC55S0x/LPC550x User manual ( UM11424.pdf )

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

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論