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

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

3天内不再提示

第八章 外部中断

撞上电子 2022-01-25 09:30 次阅读

第一节原理解读

打算写一下中断,又忍不住想说一下中断的概念,去书上翻一翻,或者自己在搜索引擎上搜一下,都可以找到一大堆,包括本文写的这个外部中断也不例外。如果要写光是中断就可以单独写一篇了,所以本文直入主题,对于STM32的外部中断进行详细的剖析。下图来自《STM32参考手册》,从整个架构图可以知道,外部中断的功能可以配置六个寄存器

5fa7a538-7d32-11ec-8beb-dac502259ad0.png

GPIO的映射关系图如下所示:5fbd3556-7d32-11ec-8beb-dac502259ad0.png第二节配置环境1,打开STM32CubeMX并选择芯片下载器配置如下图。

5fce18f8-7d32-11ec-8beb-dac502259ad0.png

2,选择按键的引脚,配置成外部中断。如下图:

5fe83cd8-7d32-11ec-8beb-dac502259ad0.png

3,配置PC15引脚(也就是开发板上LD5的引脚)为输出模式。

5ffae388-7d32-11ec-8beb-dac502259ad0.png4,选中GPIO,选择PC14,并且将GPIO的模式配置为外部中断下降沿有效。如下图:

60115848-7d32-11ec-8beb-dac502259ad0.png

5,使能中断。如下图。

60269e92-7d32-11ec-8beb-dac502259ad0.png

6,设置时钟树,项目路径,项目名称等等信息将不再阐述。配置完后生成项目即可。

第三节编写代码

1,大家先看看stm32l0xx_it.c的这个函数,这个是一个中断函数,中断服务函数里面就调用了GPIO外部中断处理函数HAL_GPIO_EXTI_IRQHandler(),参数为GPIO_PIN_14,即EXTI14中断。

6037b1d2-7d32-11ec-8beb-dac502259ad0.png

2,详细看看这个函数,GPIO外部中断处理函数主要就是清除中断标识位,然后调用中断回调函数HAL_GPIO_EXTI_Callback()。我们只需重构中断回调函数,在函数里面添加我们的应用代码即可。

604dc3b4-7d32-11ec-8beb-dac502259ad0.png

3,于是,在main.c中添加回调函数,如下:

605fb13c-7d32-11ec-8beb-dac502259ad0.png

4,配置下载器等就不再重复阐述了。

第四节 实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板USB1口连接。

3,CN4所有拨码开关必须选择ON DP档,否则无法下载程序。

实验现象:

LD1,LD4常亮。LD5上电长量,按下USER按键,LD5翻转。

宗旨:

免费的服务,永远的开源

说明:

1.本教程免费,开源,禁止用于任何商业用途,违者必究。

2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。

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

    关注

    2266

    文章

    10871

    浏览量

    354779
收藏 人收藏

    评论

    相关推荐

    元脑服务器第八代新品重磅发布

    近日,元脑®服务器第八代新品发布会在北京隆重举行,吸引了众多业界目光。会上,浪潮信息正式推出了元脑®服务器第八代算力平台,标志着公司在服务器技术领域的又一次重大突破。
    的头像 发表于 10-31 17:30 961次阅读

    《DNK210使用指南 -CanMV版 V1.0》第八章 CanMV IDE初体验

    第八章 CanMVIDE初体验 在前面的章节中,已经介绍了如何编译CanMV固件、如何将CanMV固件烧录至Kendryte K210以及在Windows下搭建好了CanMV的开发环境,本章将简单
    发表于 09-14 17:02

    【「ARM MCU嵌入式开发 | 基于国产GD32F10x芯片」阅读体验】+书籍整体概况

    USART,串口应用比较常见,通过UART案例(以串口查询方式发送数据)和UART的中断式接收实验,内容丰富。第七介绍集成电路总线I2C通信接口,包括软件模拟方式与硬件方式驱动。 第八章介绍串行外设
    发表于 08-25 22:48

    航天电器出席第八届中国空天动力联合大会

    盛夏7月,第八届中国空天动力联合大会于成都天府国际会议中心圆满落幕。
    的头像 发表于 07-30 10:26 639次阅读

    萨科微Slkor参与大佳源第八届千人峰会 宋仕强总经理出席并发表主旨演讲

    KinghelmSlkor大佳源第八届千人峰会「2024电子产业链第八届千人峰会」正式拉开帷幕,宋仕强(红衣)总经理出席活动2024电子产业链第八届千人峰会2024年5月19日,由大佳源采购网
    的头像 发表于 05-24 08:12 359次阅读
    萨科微Slkor参与大佳源<b class='flag-5'>第八</b>届千人峰会  宋仕强总经理出席并发表主旨演讲

    正业科技荣获国家级重磅荣誉—第八批制造业单项冠军企业

    2024年3月4日,广东省工业和信息化厅公布了国家第八批制造业单项冠军企业名单,广东正业科技股份有限公司(以下简称:正业科技)凭借“锂电池X射线探伤检测设备”成功上榜。
    的头像 发表于 03-14 15:33 516次阅读
    正业科技荣获国家级重磅荣誉—<b class='flag-5'>第八</b>批制造业单项冠军企业

    研智科技亮相瑞芯微第八届开发者大会

    2024年3月7日至8日,备受瞩目的瑞芯微第八届开发者大会在福州盛大举行。本届大会以“AI芯片·AI应用·AIoT”为主题,吸引了众多业内专家、技术精英和企业代表齐聚一堂,共同探讨AI芯片技术与AIoT应用的前沿趋势。
    的头像 发表于 03-13 11:32 832次阅读

    单片机中的外部中断低电平触发和下降沿触发有什么区别

    单片机中的外部中断低电平触发和下降沿触发有什么区别  外部中断是单片机中的一种功能,在特定条件下,外部信号的变化可以引发
    的头像 发表于 01-31 10:32 3316次阅读

    外部中断的工作原理 外部中断方式有哪些 为什么要使用外部中断

    外部中断的工作原理是单片机响应外部事件的一种机制** **。
    的头像 发表于 01-28 17:37 3399次阅读

    单片机外部中断和定时器中断的区别和用法

    单片机外部中断和定时器中断在触发来源、应用场景以及功能特点上存在明显差异** **。
    的头像 发表于 01-28 17:35 2874次阅读

    外部中断有哪两种触发方式?如何选择和设定?

    外部中断有两种触发方式:电平触发和边沿触发** 。
    的头像 发表于 01-28 17:31 5707次阅读
    <b class='flag-5'>外部</b><b class='flag-5'>中断</b>有哪两种触发方式?如何选择和设定?

    在TC37x上配置的最大外部中断次数是多少?

    16.10.4 中写\"道 \"... 个 SRN(int_scusRC [7:0])被保留用于处理外部中断。 ...\"。 但是当我检查寄存器时,只有 SRC_SCU_ERU0
    发表于 01-23 06:28

    arm中断是怎么实现的

    ARM中断的实现是通过中断控制器和异常模式实现的。ARM处理器通过中断控制器来接收和处理外部中断信号,而异常模式用于处理内部的异常事件。本
    的头像 发表于 01-05 15:18 838次阅读

    stm32f1如何将外部中断关掉hal库

    Layer)来简化芯片和外设的驱动开发。在STM32F1中,外部中断的关闭是通过HAL库中的相应函数来实现的。下面我将详细介绍如何使用HAL库关闭外部中断。 引入必要的头文件 要使用
    的头像 发表于 12-22 13:52 3202次阅读

    LPC800前生今世-第八章 引脚中断和引脚组合逻辑 (Pin Interrupt &amp; Pin Pattern)

    外部引脚可以触发芯片内部的中断,这是每一个通用MCU都具备的基本功能。 在LPC800中,所有外部引脚都可以配置为产生中断的触发源。每个引脚不但可以独立地触发
    的头像 发表于 12-14 16:20 1787次阅读
    LPC800前生今世-<b class='flag-5'>第八章</b> 引脚<b class='flag-5'>中断</b>和引脚组合逻辑 (Pin Interrupt &amp; Pin Pattern)