文章目录

  • 一、STM32外部中断
    • 1、基本知识
    • 2、中断设计流程
  • 二、硬件配置
    • 1、proteus仿真电路搭建
    • 2、CubeMX硬件配置
    • 3、配置中断
      • 1、寻找中断虚函数
      • 2、中断回调函数编写
      • 3、proteus仿真测试
        • 1、主频配置
        • 2、仿真运行

一、STM32外部中断

1、基本知识

1、外部中断(EXTI)是STM32芯片实时处理外部事件的一种机制,由于中断请求来自于GPIO端口的引脚, 所以称之为外部中断。
2、STM32芯片有16个外部中断源EXTI0–EXTI15,分别对应7个中断服务函数,其中EXTI0–EXTI4是专用, 其他为共用。
3、EXTI0的连接引脚是:PA0–PG0,即每个端口的0号引脚。
4、EXTI1的连接引脚是:PA1–PG1,即每个端口的1号引脚,其他以此类推。
外部中断的触发条件包括上升沿触发和下降沿触发

2、中断设计流程

1.在STM32CubeMX中指定引脚
2.设置GPIO_EXTI
3.设置中断触发条件
4.使能NVIC通道
5.重写该I/O引脚对应的中断回调函数

二、硬件配置

1、proteus仿真电路搭建

2、CubeMX硬件配置



3、配置中断

1、寻找中断虚函数

打开stm32f1xx_it.c

找到外部中断服务函数HAL_GPIO_EXTI_IRQHandler()右键选择“Go To Definition Of…"跳转

HAL_GPIO_EXTI_CLEAR_IT()的作用就是清除中断标志
而我们需要关注的则是回调函数HAL_GPIO_EXTI_Callback()
它被定义为一个虚函数 __weak void HAL_GPIO_EXTI_Callback(… ),虚函数的意义在于用户可以重新编写一个同名函数,在编译时机器只编译用户重新编写的同名函数。

我们作为用户只需要调用重写这个虚函数即可

2、中断回调函数编写

找到main.c文件,粘贴我们的外部中断处理函数
注意要在主函数体外的"Private user code"下的
/* USER CODE BEGIN 0 /
/ USER CODE END 0 */

3、proteus仿真测试

1、主频配置

主频配置需要与前面Cubemx中配置的时钟频率一致

2、仿真运行

按下按键后电平翻转led状态改变

STM32学习:外部中断相关推荐

  1. 009 - STM32学习笔记 - 中断

    009 - STM32学习笔记 - 中断 这节的内容,野火的官方视频我反复看了好几次,但是感觉火哥在这块讲解的特别绕,理解起来很吃力,后来在看了一下其他老师的视频,结合一些书本资料和官方手册,才搞清楚 ...

  2. STM32单片机外部中断配置讲解

    2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平.低电平).边沿变化(上升沿. ...

  3. 外部中断实验 编写程序学习外部中断的电平触发方式。无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警。

    编写程序学习外部中断的电平触发方式.无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警. 程序: #inclu ...

  4. STM32的“外部中断”和“事件”区别和理解

    凡从事过ST MCU应用开发的人往往会遇到事件.中断事件 中断三个概念或术语.这三个概念彼此关联,有时会让人有点混淆或犯迷糊. 先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一 ...

  5. 蓝桥杯嵌入式学习STM32之外部中断EXTI详解

    先说点题外话. !是取逻辑反的意思, ~是按位取反的意思 !0x01=0: ~0x01=1111 1110; 进入正题 基本概念 STM32的每个IO都可以作为外部中断输入. STM32的中断控制器支 ...

  6. 【STM32】外部中断实验代码详解

    文章目录 main.c exit.c exit.h STM32 的每个 IO 都可以作为外部 中断的中断输入口,这点也是 STM32 的强大之处. STM32F103 的 19 个外部中断为: 线 0 ...

  7. STM32开发 -- 外部中断详解

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/87376865 在讲三轴加速度计的时候,提到外部中断.接下来就看看中断为什么这 ...

  8. 【STM32】外部中断

    00. 目录 文章目录 00. 目录 01. 外部中断简介 02. 外部中断配置 03. 外部中断步骤 04. 硬件设计 05. 程序示例一 06. 程序示例二 07. 附录 08. 声明 01. 外 ...

  9. STM32之外部中断原理

    STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处.STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,PE0 ...

  10. STM32单片机---外部中断

    外部中断 一.ARM Cortex-M3 的中断体系 二.代码思路 函数接口 1.为引脚选择使用哪个中断 2.配置外部中断 3.中断优先级配置 4.获取外部中断状态 5.清空外部中断标志位 中断优先级 ...

最新文章

  1. 你还有学了三年建模的朋友吗?他有救了
  2. 特征工程(一)countvectororizer
  3. 最新功能 | 飞书推出“线上办公室”功能,助力企业开启无压力远程实时高效协作
  4. 使用分布式+you-get多任务下载视频
  5. python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
  6. 【bzoj4318】OSU! 期望dp
  7. Scrum项目5.0
  8. 【ubuntu】ubuntu16.04的虚拟机突然打不开terminal了
  9. 社保,交得越多亏得越多(转)
  10. mysql 标识符规则_MySQL 标识符到底区分大小写么——官方文档告诉你
  11. mysql慢查询开启语句分析_mysql慢查询语句分析总结
  12. 云和恩墨大讲堂丨PostgreSQL逻辑复制案例分享
  13. 中国水产养殖疫苗行业市场供需与战略研究报告
  14. swift编程语言和c,Swift与Objective C对比:选择更快的开发语言
  15. 生成对抗网络和对抗神经网络_生成对抗网络简介
  16. 电脑只有.exe文件不显示后缀名
  17. 1、cell 内容最大长度 The maximum length of cell contents (text) is 32767 characters
  18. 怎样在计算机查找应用程序,电脑打开IE浏览器显示找不到应用程序怎么解决
  19. 西瓜微数独家解析: 干货管饱|帮你省XXX万广告费的KOL投放指南
  20. 大数据工程师是不是青春饭,程序员30岁以后的路怎么走

热门文章

  1. 2021年中国电动扫地机市场趋势报告、技术动态创新及2027年市场预测
  2. 用VBA统计涂色单元格的信息
  3. 速度是 macOS 的两倍?首个支持 M1 Mac 的 Linux 发行版终于出现
  4. 从JDK 8到JDK 17,GC都有哪些进步?
  5. 腾讯云数据库三大产品线统一升级为TDSQL,这是要集中力量干大事! ​
  6. 一张图搞懂 Redis 缓存雪崩、缓存穿透、缓存击穿
  7. 2020 美国大选在即,又到了 AI 花式打击假新闻的季节
  8. 罗永浩回应做主播赚钱还债;360 否认裁员;Kubernetes 1.18 版本发布| 极客头条
  9. 看这篇就够了!一文读懂拜占庭将军问题
  10. 你绝对想不到,会Linux的程序员,到底有多吃香!