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