国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:arm按鍵中斷實(shí)現(xiàn)流程

嵌入式學(xué)習(xí)筆記:arm按鍵中斷實(shí)現(xiàn)流程 時(shí)間:2018-09-14      來(lái)源:未知

下面就來(lái)用按鍵K2實(shí)現(xiàn)中斷的詳細(xì)流程

1> 確定想用哪個(gè)按鍵(自己定,比如K2)

2> 看板子,找到那個(gè)按鍵,板子上印的名字是K2 3> 查看原理圖找到K2對(duì)應(yīng)的GPIO管腳

a> 看開(kāi)發(fā)板的原理圖,在開(kāi)發(fā)板原理圖里面找K2,發(fā)現(xiàn)對(duì)應(yīng)的接線UART_RING

b> 查找UART_RING,發(fā)現(xiàn)接的是CON4的58腳

c> 知道CON4是開(kāi)發(fā)板與核心板之間的接口,開(kāi)發(fā)板的CON4對(duì)應(yīng)核心板的CON3 (此信息來(lái)源可以咨詢硬件工程師,或者自己從板子上找,可能需要把核心板和開(kāi)發(fā)板分離才看得到)

d> 去核心板的原理圖去繼續(xù)找UART_RING,能找到它對(duì)應(yīng)的是GPX1_1管腳,此管腳對(duì)應(yīng)XEINT9

4> 查看芯片手冊(cè),看GPX1是怎么用的

配置GPX1CON,需要把GPX1_1配置成外部中斷模式,即選擇EXT_INT41[1],對(duì)應(yīng)的是EXT_INT41 (通過(guò)學(xué)習(xí)芯片手冊(cè),或者通過(guò)參考別人的程序,或者參考芯片公司提供的參考方案,或者請(qǐng)教有經(jīng)驗(yàn)的人)

5> 查看芯片手冊(cè),看EXT_INT41是怎么用的

配置EXT_INT41CON,設(shè)置外部中斷的觸發(fā)方式,比如設(shè)置成下降沿觸發(fā)

配置EXT_INT41_MASK,打開(kāi)中斷開(kāi)關(guān) (通過(guò)學(xué)習(xí)芯片手冊(cè),或者通過(guò)參考別人的程序,或者參考芯片公司提供的參考方案,或者請(qǐng)教有經(jīng)驗(yàn)的人)

6> 查看芯片手冊(cè),看XEINT9是怎么用的,第9章

查看中斷源表 Table 9-2,查到外部中斷EINT9對(duì)應(yīng)的是SPI25號(hào),ID

是57

(通過(guò)學(xué)習(xí)芯片手冊(cè),或者通過(guò)參考別人的程序,或者參考芯片公司提供的參考方案,或者請(qǐng)教有經(jīng)驗(yàn)的人)

7> 編寫程序

a> 先搭框架:一個(gè)初始化函數(shù),一個(gè)中斷處理函數(shù) b> 具體實(shí)現(xiàn)

配置:

第一階段: 1 6.2.3.198 GPX1CON 配置GPX1_1管腳為外部中斷

26.2.3.211EXT_INT41CON配置中斷的觸發(fā)方式

36.2.3.223EXT_INT41_MASK打開(kāi)管腳中斷(使能中

斷)

(GIC)第二階段:

19.5.1.16 ICDISER_CPU使能相應(yīng)(57號(hào))中斷

29.5.1.21 ICDIPR_CPU設(shè)置中斷優(yōu)先級(jí)

3 9.5.1.22 ICDIPTR_CPU 把57號(hào)中斷交給那個(gè) CPU處理(CPU0)

49.5.1.12 ICDDCR使能CPU0中斷

59.5.1.2 ICCPMR_CPUn設(shè)置CPU0的中斷優(yōu)先級(jí)掩碼為不屏

69.5.1.1 ICCICR_CPUn使能GIC中斷總開(kāi)關(guān)

處理:

第三階段:

19.5.1.4 ICCIAR_CPUn得到中斷號(hào)57

處理中斷

26.2.3.227 EXT_INT41_PEND 清除管腳中斷標(biāo)志(必須清)

3 9.5.1.19 ICDICPR_CPU 清除GIC控制器的57號(hào)中斷標(biāo)志

4 9.5.1.5 ICCEOIR_CPUn 結(jié)束中斷

中斷處理函數(shù)

1. 匯編部分

保護(hù)現(xiàn)場(chǎng)調(diào)用C部分恢復(fù)現(xiàn)場(chǎng)

2. C部分

提取中斷ID號(hào),ICCIAR_CPU0

根據(jù)ID號(hào)做不同的處理

清除中斷標(biāo)志位,ICDICPR1_CPU0,EXT_INT41_PEND

中斷結(jié)束,ICCEOIR_CPU0 c> 編譯程序 make

d> 下載編譯好的程序到板子的內(nèi)存里運(yùn)行

配置K2為中斷源

一、接線:

1、在開(kāi)發(fā)板上找到K2連接的是UART_RING

二、查芯片手冊(cè)

配置:

1、配置GPX1_1管腳為外部中斷

2、配置中斷觸發(fā)方式為下降沿觸發(fā)

3、打開(kāi)管腳中斷,使能中斷

4、使能相應(yīng)中斷

ICDISER1_CPU0=ICDISER1_CPU0|(1<(57-32))

6、把中斷57交給CPU0處理

 

每個(gè)中斷交給那個(gè)CPU處理由8個(gè)bit位描述,例如交給核心0處理,那么對(duì)應(yīng)的8bit位為0b00000001,一共160個(gè)中斷源,160*8/32=40,所以每個(gè)核心需要40個(gè)對(duì)應(yīng)的寄存器

ICDIPTR14_CPU0=ICDIPTR14_CPU0&~(0xFF<<8)|(1<<8)

5、設(shè)置中斷優(yōu)先級(jí)

ICDIPR14_CPU0=ICDIPR14_CPU0&~(0xFF<<8)|(12<<8) 7、打開(kāi)CPU0中斷

ICDDCR=1

8、設(shè)置CPU0的中斷優(yōu)先級(jí)掩碼為不屏蔽

中斷優(yōu)先級(jí)掩碼默認(rèn)為0,屏蔽所有中斷,需要設(shè)置0-7bit位為0XFF,響應(yīng)所有中斷。ICCPMR_CPU0=0xFF 9、使能GIC中斷總開(kāi)關(guān)

ICCICR_CPU0=1

中斷處理:

1、得到中斷號(hào)

ICCIAR_CPU0 & (0x3FF)

2、清除管腳中斷標(biāo)志

EXT_INT41_PEND |= 1 << 1

3、清除GIC控制器的SPI 25(57)中斷標(biāo)志

 

ICDICPR1_CPU0 |=1<< (57-32)

4、結(jié)束中斷

ICCEORIR_CPU0 = ICCEORIR_CPU0 & ~(0x3FF) | iNum

上一篇:嵌入式學(xué)習(xí)筆記:指針和指針變量的區(qū)別(指針知識(shí)點(diǎn)大全)

下一篇:嵌入式學(xué)習(xí)筆記:ARM串口通信詳解

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部