日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

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

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

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

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

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

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

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

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

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

4> 查看芯片手冊,看GPX1是怎么用的

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

5> 查看芯片手冊,看EXT_INT41是怎么用的

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

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

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

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

是57

(通過學(xué)習(xí)芯片手冊,或者通過參考別人的程序,或者參考芯片公司提供的參考方案,或者請教有經(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打開管腳中斷(使能中

斷)

(GIC)第二階段:

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

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

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

49.5.1.12 ICDDCR使能CPU0中斷

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

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

處理:

第三階段:

19.5.1.4 ICCIAR_CPUn得到中斷號57

處理中斷

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

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

4 9.5.1.5 ICCEOIR_CPUn 結(jié)束中斷

中斷處理函數(shù)

1. 匯編部分

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

2. C部分

提取中斷ID號,ICCIAR_CPU0

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

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

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

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

配置K2為中斷源

一、接線:

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

二、查芯片手冊

配置:

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

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

3、打開管腳中斷,使能中斷

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

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

6、把中斷57交給CPU0處理

 

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

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

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

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

ICDDCR=1

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

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

ICCICR_CPU0=1

中斷處理:

1、得到中斷號

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ū)別(指針知識點(diǎn)大全)

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

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

回到頂部

主站蜘蛛池模板: 看黄色录像播放| 女女床戏| 成人免费黄色电影| 微信头像图片2024最新| 韩国成人网| 电影《正青春》| 肋骨骨折的护理ppt| 怎么剪福字简单方法视频| 6套电影频道节目表| 火火| 践行者| 世界赋予我的 二声部合唱谱| 郑荣植个人资料| 国产电影网站| 罪孽天使| 刑事侦缉档案2剧情介绍| 试衣间电影| raz分级阅读绘本| 电影《重生》| 荒笛子简谱| 哥也要| 新娘大作战angelababy| 陆廷威| 春江英雄之秀才遇到兵| 关于雨的成语| 八月照相馆| 大海歌词 张雨生| 杨梵| 黑木美纱| 黄河颂思维导图| 罗志祥小猪视频app全部| 红鞋日记| 天天操免费视频| 日韩 欧美 视频| 女村长| 架子姐姐| 苑琼丹三级| 在屋顶上流浪| 部队飞行安全大讨论心得体会| 电影在线观看免费完整高清网站 | 阿尔西|