日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]ARM7比較難理解和控制的就是中斷控制,把自己找的一些資料寫上來。1、 快速中斷FIQ⑴在主程序中:① 在VICIntSelect中將中斷分配為FIQ中斷;② 在VICIntEnable中使能外設(shè)中斷。 ⑵中斷服務(wù)程序中:① 中斷處理;② 清

ARM7比較難理解和控制的就是中斷控制,把自己找的一些資料寫上來。

1、 快速中斷FIQ

⑴在主程序中:

① 在VICIntSelect中將中斷分配為FIQ中斷;

② 在VICIntEnable中使能外設(shè)中斷。

⑵中斷服務(wù)程序中:

① 中斷處理;

② 清除相應(yīng)的中斷標(biāo)志,以響應(yīng)下一次中斷。

2、 向量IRQ

⑴主程序

① 在VICIntSelect中將中斷分配為IRQ中斷;

② 在VICVectCntlx中分配中斷通道(優(yōu)先級);

③ 在VICVectAddrx中設(shè)置中斷服務(wù)程序的地址;

④ 通過VICIntEnable使能外設(shè)中斷。

⑵中斷服務(wù)程序

① 中斷處理;

② 清除相應(yīng)的中斷標(biāo)志,以響應(yīng)下一次中斷;

③ 對VICVectAddr寄存器執(zhí)行寫操作(通常為0x00),結(jié)束向量中斷,以更新硬件優(yōu)先級。

3、 非向量IRQ

⑴主程序

① 在VICDefVectAddr中設(shè)置中斷服務(wù)程序的地址;

② 通過VICIntEnable使能外設(shè)中斷。

⑵中斷服務(wù)程序

①中斷處理;

②清除相應(yīng)的中斷標(biāo)志,以響應(yīng)下一次中斷;

③對VICVectAddr寄存器執(zhí)行寫操作(通常為0x00),結(jié)束向量中斷,以更新硬件優(yōu)先級。

初始化

1,設(shè)置IRQ/FIQ中斷;

2,若是IRQ中斷,則可以設(shè)置為向量中斷并分配中斷優(yōu)先級,否則為非向量IRQ;

3,然后可以設(shè)置中斷允許

4,以及向量中斷對應(yīng)地址或非向量中斷默認(rèn)地址

IRQ中斷時(shí)

1,讀取向量地址寄存器,跳轉(zhuǎn)到相應(yīng)代碼

2,退出中斷時(shí),對向量地址寄存器寫0,通知VIC中斷結(jié)束

當(dāng)發(fā)生中斷時(shí),處理器將會切換處理器模式,同時(shí)相關(guān)的寄器也將會映射


LPC2104的中斷管理是由向量中斷控制器(VIC)操作的,向量中斷控制器具有32個(gè)中斷請求輸入(32個(gè)中斷通道,但LPC210X只使用了17個(gè)通道,即0~16),可將它們設(shè)置為FIQ,向量IRQ和非向量IRQ,通過編程不同外設(shè)的向量IRQ中斷優(yōu)先級,可實(shí)現(xiàn)動態(tài)分配調(diào)整。非向量IRQ中斷優(yōu)先級最低

相關(guān)寄在存器解釋如下:

檢查中斷狀態(tài)或中斷通道

VICIRQStatus:IRQ狀態(tài)請求標(biāo)志。置1的位表示對應(yīng)的通道號中斷有效(此通道設(shè)置為IRQ,并已使能。只讀。

VICFIQStatus:FIQ狀態(tài)請求標(biāo)志。同上。

VICRawIntr:所有中斷的狀態(tài)。32個(gè)通道的中斷請求/軟件中斷狀態(tài)(不管是否使能)。只讀。

中斷通道IRQ或FIQ選擇

VICIntSelect:中斷選擇,即選擇IRQ或FIQ中斷。置1時(shí)表示對應(yīng)通道設(shè)置為FIQ。讀/寫

中斷使能及軟件中斷

VICIntEnable:中斷使能。置1時(shí)表示對應(yīng)通道使能,否則為禁能。讀/寫。

VICIntEnclr:中斷使能清零。置1時(shí)清除對應(yīng)通道使能標(biāo)志。只寫。

VICSoftInt:軟件中斷設(shè)置。置1時(shí)表示對應(yīng)通道產(chǎn)生中斷。只能通過VICSoftClear清除軟件中斷標(biāo)志。讀/寫

VICSoftClear:軟件中斷清零。清除相應(yīng)通道的軟件中斷標(biāo)志。只寫。

IRQ中斷向量

VICVectAddr:向量中斷地址。當(dāng)發(fā)生向量IRQ時(shí),此寄存器是最高優(yōu)先級IRQ通道的向量地址值。讀/寫。

IRQ向量原地址

VICDefVectAddr:非向量中斷的向量地址。當(dāng)發(fā)生非向量中斷時(shí),即將此寄存器值復(fù)制到VICVectAddr中。讀/寫

VICVectAddr0~15:優(yōu)先級0~15向量中斷的向量地址。當(dāng)有對應(yīng)優(yōu)先級向量IRQ中斷時(shí),將會把保存的值復(fù)制到VICVectAddr中。讀/寫

向量IRQ中斷優(yōu)先級設(shè)置

VICVectCntl0~15:向量控制寄存器0~15,即向量優(yōu)先級寄存器??梢园迅鱾€(gè)IRQ中斷通道分配到不同的向量控制寄存器中,使其成為向量中斷,并具有一定的優(yōu)先級。讀/寫。

設(shè)置向量中斷,即是把中斷通道分配到向量IRQ中斷優(yōu)先級寄存器中,當(dāng)然對應(yīng)通道必須設(shè)置為IRQ中斷類型,而不能為FIQ中斷類型。在VIC中,F(xiàn)IQ無中斷優(yōu)先級,也無向量地址,一般只分配一個(gè)通道為FIQ中斷。VICVectCntl0~15寄存器的D5位是控制是否使能此優(yōu)先級的向量功能,若復(fù)位為0,則關(guān)閉其向量功能,此向量IRQ變?yōu)榉窍蛄縄RQ。

雜項(xiàng)

VICProtection:保護(hù)使能,若最低位為1,則只允許在特權(quán)模式下訪問VIC寄存器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉