STM32学习:外部中断
文章目录
- 一、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学习:外部中断相关推荐
- 009 - STM32学习笔记 - 中断
009 - STM32学习笔记 - 中断 这节的内容,野火的官方视频我反复看了好几次,但是感觉火哥在这块讲解的特别绕,理解起来很吃力,后来在看了一下其他老师的视频,结合一些书本资料和官方手册,才搞清楚 ...
- STM32单片机外部中断配置讲解
2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平.低电平).边沿变化(上升沿. ...
- 外部中断实验 编写程序学习外部中断的电平触发方式。无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警。
编写程序学习外部中断的电平触发方式.无中断时发光让发光二极管从左到右依次点亮,有外部中断请求时,4位数码管从0000开始加1显示(加到9999后复位为0000),同时蜂鸣器报警. 程序: #inclu ...
- STM32的“外部中断”和“事件”区别和理解
凡从事过ST MCU应用开发的人往往会遇到事件.中断事件 中断三个概念或术语.这三个概念彼此关联,有时会让人有点混淆或犯迷糊. 先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一 ...
- 蓝桥杯嵌入式学习STM32之外部中断EXTI详解
先说点题外话. !是取逻辑反的意思, ~是按位取反的意思 !0x01=0: ~0x01=1111 1110; 进入正题 基本概念 STM32的每个IO都可以作为外部中断输入. STM32的中断控制器支 ...
- 【STM32】外部中断实验代码详解
文章目录 main.c exit.c exit.h STM32 的每个 IO 都可以作为外部 中断的中断输入口,这点也是 STM32 的强大之处. STM32F103 的 19 个外部中断为: 线 0 ...
- STM32开发 -- 外部中断详解
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/87376865 在讲三轴加速度计的时候,提到外部中断.接下来就看看中断为什么这 ...
- 【STM32】外部中断
00. 目录 文章目录 00. 目录 01. 外部中断简介 02. 外部中断配置 03. 外部中断步骤 04. 硬件设计 05. 程序示例一 06. 程序示例二 07. 附录 08. 声明 01. 外 ...
- STM32之外部中断原理
STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处.STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,PE0 ...
- STM32单片机---外部中断
外部中断 一.ARM Cortex-M3 的中断体系 二.代码思路 函数接口 1.为引脚选择使用哪个中断 2.配置外部中断 3.中断优先级配置 4.获取外部中断状态 5.清空外部中断标志位 中断优先级 ...
最新文章
- 你还有学了三年建模的朋友吗?他有救了
- 特征工程(一)countvectororizer
- 最新功能 | 飞书推出“线上办公室”功能,助力企业开启无压力远程实时高效协作
- 使用分布式+you-get多任务下载视频
- python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
- 【bzoj4318】OSU! 期望dp
- Scrum项目5.0
- 【ubuntu】ubuntu16.04的虚拟机突然打不开terminal了
- 社保,交得越多亏得越多(转)
- mysql 标识符规则_MySQL 标识符到底区分大小写么——官方文档告诉你
- mysql慢查询开启语句分析_mysql慢查询语句分析总结
- 云和恩墨大讲堂丨PostgreSQL逻辑复制案例分享
- 中国水产养殖疫苗行业市场供需与战略研究报告
- swift编程语言和c,Swift与Objective C对比:选择更快的开发语言
- 生成对抗网络和对抗神经网络_生成对抗网络简介
- 电脑只有.exe文件不显示后缀名
- 1、cell 内容最大长度 The maximum length of cell contents (text) is 32767 characters
- 怎样在计算机查找应用程序,电脑打开IE浏览器显示找不到应用程序怎么解决
- 西瓜微数独家解析: 干货管饱|帮你省XXX万广告费的KOL投放指南
- 大数据工程师是不是青春饭,程序员30岁以后的路怎么走
热门文章
- 2021年中国电动扫地机市场趋势报告、技术动态创新及2027年市场预测
- 用VBA统计涂色单元格的信息
- 速度是 macOS 的两倍?首个支持 M1 Mac 的 Linux 发行版终于出现
- 从JDK 8到JDK 17,GC都有哪些进步?
- 腾讯云数据库三大产品线统一升级为TDSQL,这是要集中力量干大事! ​
- 一张图搞懂 Redis 缓存雪崩、缓存穿透、缓存击穿
- 2020 美国大选在即,又到了 AI 花式打击假新闻的季节
- 罗永浩回应做主播赚钱还债;360 否认裁员;Kubernetes 1.18 版本发布| 极客头条
- 看这篇就够了!一文读懂拜占庭将军问题
- 你绝对想不到,会Linux的程序员,到底有多吃香!