0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DSP操作教程:按键中断输入实验

冬至配饺子 来源:创龙教仪-木江鹏 作者:创龙教仪-木江鹏 2023-06-28 15:15 次阅读

实验原理

中断:当外围设备需要请求服务时,向CPU发出中断请求,CPU响应外围设备中断,停止执行当前程序,转去执行一个外围设备服务的程序,此服务程序称为中断服务处理程序,或称中断服务子程序。中断处理完毕,CPU又返回来执行原来的程序。

中断类型有图中的几种,其中复位中断的优先级是最高的;

优先级次于复位中断的是不可屏蔽中断,当使能时,不可屏蔽中断即发生。

接下来的是12个可屏蔽硬件中断,这种类型的中断需要满足一定条件下才能发生。需要在全局中断使能、不可屏蔽中断使能、可屏蔽中断使能、中断标志寄存器相应位置1且没有更高级的中断在执行的前提下才能发生。

image.png

接下来看一下硬件原理图,实验过程中使用的是USER0和USER1,对应接口名字分别是“GPIO0[6]和GPIO6[1]”。

以USER0为例,当按键按下时,GPIO0[6]为高电平,当按键松开时,GPIO0[6]为低电平。

image.png

基于StarterWare控制外设时可调用对应的API接口,无需配置复杂的寄存器。GPIO管脚复用配置的函数源码可以查看GPIO.c。

image.png

配置GPIO管脚方向的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数时GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的方向。

image.png

中断使用流程分为7个步骤:

(1)初始化DSP中断控制器

(2)使能DSP全局中断。

(3)配置按键脚的中断触发类型。包括上升沿、下降沿、双边触发三种触发方式。

(4)使能按键管脚所在的BANK中断。

(5)注册中断服务函数。注册中断服务函数是重点,这个函数决定了中断之后要做什么。

(6)映射中断到DSP的12个可屏蔽中断。

(7)使能DSP的可屏蔽中断。

image.png

中断使用的部分函数源码和函数使用说明可以查看interrupt.c。

image.png

部分的函数源码和函数使用说明可以查看gpio.c。

image.png

以中断触发类型配置函数为例,函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置中断类型。

image.png

配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。

image.png

操作现象

导入工程

编译工程

将CCS连接开发板并加载程序

点击运行程序

查看现象,按下USER1按键,核心板两个LED开始循环点亮。按下USER0按键,核心板个LED停止循环点亮。

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

    关注

    22

    文章

    1592

    浏览量

    107729
  • DSP控制
    +关注

    关注

    0

    文章

    12

    浏览量

    10585
  • GPIO
    +关注

    关注

    16

    文章

    1188

    浏览量

    51825
  • 中断控制器
    +关注

    关注

    0

    文章

    59

    浏览量

    9429
  • 按键中断
    +关注

    关注

    0

    文章

    15

    浏览量

    6436
收藏 人收藏

    评论

    相关推荐

    STM32F103实验按键输入与串口实验

    目录本文,在上一章的基础上,将介绍如下内容外部中断独立看门狗上一篇:STM32F103 实验按键输入与串口实验 正文外部
    发表于 07-30 06:53

    STM32按键中断实验

    按键中断实验实验2是按键查询一、实验原理1、按键使
    发表于 08-13 06:05

    按键中断控制LED跑马灯实验的相关资料分享

    【嵌入式】按键中断控制 LED 跑马灯实验 1.操作内容2.原理解释2.1 实验按键电路2.2
    发表于 10-27 07:35

    键盘中断实验

    键盘中断实验一、实验目的键盘/按键操作人员向单片机系统输入指令的基本工具,在前面的
    发表于 03-23 10:52 7307次阅读
    键盘<b class='flag-5'>中断</b><b class='flag-5'>实验</b>

    HarmonyOS Hi3861 GPIO操作 点灯和按键实验

    Hi3861也提供了相关得GPIO口操作,先看最简单得LED灯闪烁操作。另外GPIO口还可以作为输入,然后使用中断,示例代码如下:这段示例代码用的开发板上面的user
    发表于 10-21 17:12 77次下载
    HarmonyOS Hi3861 GPIO<b class='flag-5'>操作</b> 点灯和<b class='flag-5'>按键</b><b class='flag-5'>实验</b>

    【嵌入式】按键中断控制 LED

    【嵌入式】按键中断控制 LED 1. 操作内容2. 原理解释2.1 实验按键电路2.2 实验
    发表于 10-19 18:33 13次下载
    【嵌入式】<b class='flag-5'>按键</b><b class='flag-5'>中断</b>控制 LED

    【嵌入式】按键中断控制 LED 跑马灯实验

    【嵌入式】按键中断控制 LED 跑马灯实验 1. 操作内容2. 原理解释2.1 实验按键电路2
    发表于 10-20 11:50 6次下载
    【嵌入式】<b class='flag-5'>按键</b><b class='flag-5'>中断</b>控制 LED 跑马灯<b class='flag-5'>实验</b>

    【嵌入式】按键中断控制 LED 及蜂鸣器实验

    【嵌入式】按键中断控制 LED 及蜂鸣器实验 1. 操作内容2. 原理解释2.1 实验按键电路
    发表于 10-20 12:06 7次下载
    【嵌入式】<b class='flag-5'>按键</b><b class='flag-5'>中断</b>控制 LED 及蜂鸣器<b class='flag-5'>实验</b>

    STM32F103-入门基础实验-GPIO输入-按键(查询/中断)控制LED核心代码(固件库版)

    上次我们讲解了操作STM32的GPIO-输出的3种方法和关键代码,这节我们讲关于GPIO按键输入的关键要点,分为按键(查询/中断)两种方法讲
    发表于 11-26 13:21 0次下载
    STM32F103-入门基础<b class='flag-5'>实验</b>-GPIO<b class='flag-5'>输入</b>-<b class='flag-5'>按键</b>(查询/<b class='flag-5'>中断</b>)控制LED核心代码(固件库版)

    简单易懂的STM32外部中断实现按键输入判断

    简单的按键输入中断判断方法1.了解按键的接线。常见的按键接线方式是:按键一端接到MCU,另外一端
    发表于 12-05 13:06 10次下载
    简单易懂的STM32外部<b class='flag-5'>中断</b>实现<b class='flag-5'>按键</b><b class='flag-5'>输入</b>判断

    STM32 按键输入实验

    加粗样式一.实验目的1.熟悉使用STM32F4XX开发板2.掌握其GPIO的使用方法3.掌握按键的实现方法二.实现步骤(1)使能按键对应IO口时钟。调用函数
    发表于 12-27 18:53 4次下载
    STM32 <b class='flag-5'>按键</b><b class='flag-5'>输入</b><b class='flag-5'>实验</b>

    STM32基本GPIO操作按键输入(扫描+外部中断

    STM32基本GPIO操作按键输入(扫描+外部中断)本文章向大家介绍STM32基本GPIO操作按键
    发表于 12-29 19:27 13次下载
    STM32基本GPIO<b class='flag-5'>操作</b>:<b class='flag-5'>按键</b><b class='flag-5'>输入</b>(扫描+外部<b class='flag-5'>中断</b>)

    STM32 HAL库 CubeMX教程(四)按键外部中断

    STM32 HAL库 CubeMX教程(四)外部中断实验内容NVIC(嵌套向量中断控制器)外部中断简介CubeMX配置中断回调函数编写
    发表于 01-14 15:11 10次下载
    STM32 HAL库 CubeMX教程(四)<b class='flag-5'>按键</b>外部<b class='flag-5'>中断</b>

    STM32学习---中断EXTI(按键中断)

    //中断实验--利用按键进行的中断;//首先分析STM32的中断机制:/*    因为STM32的中断
    发表于 01-14 15:31 14次下载
    STM32学习---<b class='flag-5'>中断</b>EXTI(<b class='flag-5'>按键</b><b class='flag-5'>中断</b>)

    按键中断实验是什么

    前面的按键实验是通过死循环一直读取按钮电平值来判断是否有按下按钮,接下来将使用另外一个更优雅的方式实验按键按下功能-中断
    的头像 发表于 03-02 16:21 1554次阅读
    <b class='flag-5'>按键</b><b class='flag-5'>中断</b><b class='flag-5'>实验</b>是什么