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

控制/MCU

1842人已加入

描述

实验原理

中断:当外围设备需要请求服务时,向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停止循环点亮。

中断处理

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分