本應用筆記介紹了使用多個中斷的 RX 系列微控制器。該文件包括規格書、運行確認條件、硬件和軟件以及示例程序。
規格
在處理 IRQ1 中斷時,會發生 IRQ3 中斷。
通常,PSW 中的 I 標志在發生中斷時被清除,從而禁用其他中斷。為了使能多個中斷。為了使能多個中斷,需要在中斷處理程序中復位 PSW 中的 I 標志。
將 I 標志設置為 1 將啟用具有更高優先級的中斷。
啟用多個中斷的設置
有必要在中斷函數的聲明中使用#pragma interrupt。此聲明指定啟用多個中斷,允許同時生成多個中斷。下面是一個示例多中斷使能規范。
示例:RX220上的 IRQ1 中斷函數聲明
一旦啟用了多個中斷,就可以在中斷功能開始時將 PSW 中的 I 標志設置為 1,以允許多個中斷。
外圍功能及應用
連接圖
軟件
操作概述
初始設置
——對時鐘、I/O 端口和 IRQ 中斷進行初始設置后,軟件等待 SW1 輸入。調用應用筆記 RX Group: Initial Settings Example 中描述的函數來進行時鐘設置。IRQ 檢測設置包括設置 IRQ1 和 IRQ3 的檢測級別,將 IRQ1 設置為中斷優先級 1,將 IRQ3 設置為中斷優先級 2。
SW1 輸入檢測
——當按下 SW1 時(P31 上的低電平輸入),接收到 IRQ1 中斷請求
IRQ1 中斷
IRQ1 中斷處理程序打開 LED0。只要 SW1 被按住,IRQ1 中斷處理程序內的處理循環就會循環。當 SW1 被釋放時,LED0 關閉,IRQ1 中斷處理程序結束。
SW2 輸入檢測
– 與 SW1 輸入檢測方式類似,當按下 SW2 時(P33 上的低電平輸入),接收到 IRQ3 中斷請求。
IRQ3中斷
IRQ3 中斷
——IRQ3 中斷處理程序使 LED1 亮起。只要 SW2 被按下,IRQ3 中斷處理程序內的處理循環就會循環。當 SW2 被釋放時,LED1 關閉,IRQ3 中斷處理程序結束。
顯示多個中斷發生的時序圖
要產生多個中斷,請在按住 SW1 的同時按下 SW2。注意在按住SW2的同時按下SW1不會產生多個中斷,因為IRQ1的中斷優先級低于IRQ3的中斷優先級。
編輯:hfy
-
微控制器
+關注
關注
48文章
7559瀏覽量
151486
發布評論請先 登錄
相關推薦
評論