ARM中断编程实验.docx

ARM中断编程实验.docx

ID:51673213

大小:633.24 KB

页数:9页

时间:2020-03-14

ARM中断编程实验.docx_第1页
ARM中断编程实验.docx_第2页
ARM中断编程实验.docx_第3页
ARM中断编程实验.docx_第4页
ARM中断编程实验.docx_第5页
资源描述:

《ARM中断编程实验.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字信息技术实验学校学院专业实验题目ARM中断实验编程小组成员二Ο一七年三月一.实验目的通过本次实验了解中断是什么以及学会如何进行中断编程。二.实验要求基础实验:利用Exynos4412的K1、K2这2个I/O引脚的中断模式,分别点亮LED1和LED2,扩展实验:配置K3为中断模式,点亮LED3.三.实验仪器1、计算机2、USB转9脚串口线(通过USB与计算机连接,母头与实验平台连接)3、Exynos4412处理器开发与应用实验平台4、BL-JTAG仿真器(通过USB与计算机连接,JTAG口与实验平台连接)

2、5、电源线(与实验平台相连接的交流电源线)四.实验原理1.电路原理K1、K2、K3分别与GPX1_1、GPX1_2、GPX3_2相连,在没有按下按键时这些引脚上一直处于高电平,当按键按下时产生下降沿触发中断。EXYNOS4412中断实验电路图实验箱上按键位置2、编程流程去除GPX1_2、GPX1_2,GPX3_2内部上下拉属性,配置为中断模式。GPIO控制器中关闭屏蔽、使能中断;在GIC中断控制器中使能中断;设置中断优先级;使能GIC;选择中断发送给CPU0;等待中断产生,然后进入中断处理函数;清除中断源。

3、五.实验内容(1)连接好开发板与计算机之间的串口线和BL-JTAG仿真器(2)连接好开发板的交流电源线(3)接下来利用计算机演示集成开发环境的使用,以及LED灯的控制实验软硬件仿真流程,打开Eclipse,导入工程Key_Int,进行相应代码编写,编译,配置相关debug信息,装载程序,按下KEY1,KEY2,KEY3在putty串口终上查看相应的信息输出以及可以看到LED1和LED2和LED3亮灭情况。六.实验步骤根据实验一步骤,连接仿真器、串口线,打开Eclipse,导入工程Key_Int,进行相应代码

4、编写,编译,配置相关debug信息,装载程序,按下KEY1,KEY2,在putty串口终端上查看相应的信息输出以及可以看到LED1和LED1亮灭情况。修改代码,完成扩展实验K3中断签需要配置的寄存器GPX3.PUD4-5位设为0GPX3.CON8-11位设为0XFEXT_INT43_CON8-11位设置为0x2EXT_INT43_MASK第2位设为0ICDISER.ICDISER2第0位设为1K3中断服务程序中需要配置的寄存器GPX1.DAT第3位和第5位为0GPL1.DAT第1位为1EXT_INT43_P

5、END第2位设为1ICDICPR.ICDICPR2第0位设为0七.实验结果可以看到按下K1对应的按键第一颗灯亮第二颗和第三颗灯灭可以看到按下K2对应的按键第二颗灯亮第一颗和第三颗灯灭可以看到按下K3对应的按键第三颗灯亮第一颗和第二颗灯灭代码分析(主要对LED3的代码分析,LED1与LED2的编写基本类似)://InterruptGPX3_2:TurnoffLED1,turnoffLED2,turnonLED3//此处编写LED相关处理GPL1.DAT

6、=0x1<<1;//turnonLED3GPX1.DAT

7、&=~(0x1<<5);GPX1.DAT&=~(0x1<<3);//TurnoffLED1,turnoffLED2EXT_INT43_PEND

8、=0x1<<2;//EXT_INT43_PEND第2位设为1ICDICPR.ICDICPR2&=~(0x1<<0);//ICDICPR.ICDICPR2第0位设为0printf("PWRON3(GPX1_1:XEINT09)IRQinterrupt!!TurnonLED1,turnoffLED2,turnoffLED3");//ClearPend//此处清除K3

9、对应的中断标志位break;这段代码是扩展实验的代码,该段执行的是当按下K3按键时cpu检测到相应中断源产生,进入switch选择,LED3常亮,关闭LED1,LED2//在此处添加K3的相关寄存器配置GPX3.PUD=GPX3.PUD&~(0x3<<(2*2));//GPX3.PUD4-5位设为0GPX3.CON=(GPX3.CON&~(0xF<<(2*4)))

10、(0xF<<(2*4));//GPX1_3:8-11位设为0XFEXT_INT43_CON=(EXT_INT43_CON&~(0x7<<(2*4

11、)))

12、0x2<<(2*4);//EXT_INT43_CON8-11位设置为0x2EXT_INT43_MASK=(EXT_INT43_MASK&~(0x1<<2));//第2位设为0//配置K3对应的ICDISER.ICDISER2ICDISER.ICDISER2

13、=0x1<<0;//第0位设为1结果分析在完成扩展实验的代码并烧录进去后,LED4是不断闪烁的,按下K1时,LED1灯常亮LED2LED3熄灭,当按下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。