StarterWare开发环境下的按键中断控制实现

实验原理
中断:当外围设备需要请求服务时,向cpu发出中断请求,cpu响应外围设备中断,停止执行当前程序,转去执行一个外围设备服务的程序,此服务程序称为中断服务处理程序,或称中断服务子程序。中断处理完毕,cpu又返回来执行原来的程序。
中断类型有图中的几种,其中复位中断的优先级是最高的;
优先级次于复位中断的是不可屏蔽中断,当使能时,不可屏蔽中断即发生。
接下来的是12个可屏蔽硬件中断,这种类型的中断需要满足一定条件下才能发生。需要在全局中断使能、不可屏蔽中断使能、可屏蔽中断使能、中断标志寄存器相应位置1且没有更高级的中断在执行的前提下才能发生。
接下来看一下硬件原理图,实验过程中使用的是user0和user1,对应接口名字分别是“gpio0[6]和gpio6[1]”。
以user0为例,当按键按下时,gpio0[6]为高电平,当按键松开时,gpio0[6]为低电平。
基于starterware控制外设时可调用对应的api接口,无需配置复杂的寄存器。gpio管脚复用配置的函数源码可以查看gpio.c。
配置gpio管脚方向的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数时gpio的基地址,第二个参数是gpio的编号,第三个参数设置gpio的方向。
中断使用流程分为7个步骤:
(1)初始化dsp中断控制器。
(2)使能dsp全局中断。
(3)配置按键脚的中断触发类型。包括上升沿、下降沿、双边触发三种触发方式。
(4)使能按键管脚所在的bank中断。
(5)注册中断服务函数。注册中断服务函数是重点,这个函数决定了中断之后要做什么。
(6)映射中断到dsp的12个可屏蔽中断。
(7)使能dsp的可屏蔽中断。
中断使用的部分函数源码和函数使用说明可以查看interrupt.c。
部分的函数源码和函数使用说明可以查看gpio.c。
以中断触发类型配置函数为例,函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是gpio的基地址,第二个参数是gpio的编号,第三个参数设置中断类型。
配置gpio输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是gpio的基地址,第二个参数是gpio的编号,第三个参数设置gpio的电平。
操作现象
导入工程
编译工程
将ccs连接开发板并加载程序
点击运行程序
查看现象,按下user1按键,核心板两个led开始循环点亮。按下user0按键,核心板个led停止循环点亮。

图像识别技术在农业领域的应用
Clara Parabricks 3.7可加速基因组的分析
燃料电池的工作原理及应用
虹科分享 | 药品质量控制:只要5个步骤!有效执行24/7 实时冰箱监控
2015 CEE消费电子展 :十年磨一剑 助力中国市场
StarterWare开发环境下的按键中断控制实现
未来中国的智慧城市会不会崛起
如何让AI提高客户体验
常用低压电器有哪些_低压电器的分类_低压电器的结构
了解和消除1/f噪声
微服务和容器之间的有何关系?
Aryson EMLX Converter软件介绍
LogiCORE IP AXI4-Stream FIFO内核解决方案
AI人工智能毕业生薪资待遇牛 起薪可高达3万-4万/月薪资上不封顶
中国移动5G消息App下架的原因是什么
才茂地质灾害隐患点自动化预警监测,让地灾防治更高效科学
Pure Storag第三季度财务业绩公布 不断推动其数字化转型
5G终端生态布局百花齐放,商用比例趋升
浅谈测试的充分性问题
日本车企大步迈入氢燃料电池车的量产阶段!