【STM32 Blue Pill编程】-外部中断配置及使用
外部中断配置及使用
文章目录
- 外部中断配置及使用
- 1、中断介绍
- 2、STM32中的中断
- 3、硬件准备及接线
- 4、GPIO配置
- 5、代码实现
在本文中,我们将介绍如何使用 STM32Cube IDE 中的 HAL 库配置和处理外部中断。 我们将通过一个带有按钮和 LED 的示例来演示这一点。
读完本文后,您将能够了解:
- Blue Pill STM32 中的外部中断
- 使用 STM32Cube IDE 配置 GPIO 输出引脚和输入引脚
- 将输入引脚设置为中断引脚(上升沿)
- 在每个上升沿切换 LED(输出引脚)
1、中断介绍
中断用于处理程序顺序执行期间未发生的事件。 例如,我们想要执行某些任务,并且这些任务在您的程序中按顺序执行。 但很少有任务仅在发生特殊事件时执行,例如微控制器数字输入引脚的外部触发信号。
外部中断或“硬件中断”是由外部硬件模块引起的。 例如,检测到触摸时会发生触摸中断,按下按键时会发生 GPIO 中断。 在本文中,我们将重点讨论这种类型的中断。
中断的工作过程
通过中断,我们不需要连续检查数字输入引脚的状态。 当发生中断(检测到变化)时,处理器停止主程序的执行,并调用称为 ISR 或中断服务例程的函数。 然后处理器暂时处理不同的任务(ISR),然后在处理例程结束后返回主程序。

例如按下按钮或使用 PIR 传感器进行运动检测。 在这两种情况下,都可以使用按钮或 PIR 运动传感
相关文章:
【STM32 Blue Pill编程】-外部中断配置及使用
外部中断配置及使用 文章目录 外部中断配置及使用1、中断介绍2、STM32中的中断3、硬件准备及接线4、GPIO配置5、代码实现在本文中,我们将介绍如何使用 STM32Cube IDE 中的 HAL 库配置和处理外部中断。 我们将通过一个带有按钮和 LED 的示例来演示这一点。 读完本文后,您将能够…...
MySQL 安装与配置教程:单机、主从复制与集群模式
目录 MySQL 简介MySQL 安装MySQL 基础配置MySQL 主从复制配置MySQL 集群配置总结 1. MySQL 简介 MySQL 是一个广泛使用的关系型数据库管理系统,具有高性能、高可靠性和易用性等特点。它支持多种部署模式,包括单机模式、主从复制模式(用于高…...
JavaEE 的相关知识点(一)
一、过滤器 过滤器(Filter)是一个用于对请求和响应进行预处理的组件。过滤器可以在 Java Servlet 规范中使用,通常用于执行一些通用的任务 1、过滤器的作用 过滤器是一种javaEE规范中定义的一种技术,可以让请求达到目标servlet之…...
使用Python实现深度学习模型:智能医疗影像识别与诊断
介绍 智能医疗影像识别与诊断是现代医疗技术的重要应用,通过深度学习模型,可以自动分析和识别医疗影像,提高诊断的准确性和效率。本文将介绍如何使用Python和深度学习技术来实现智能医疗影像识别与诊断。 环境准备 首先,我们需要安装一些必要的Python库: pip install …...
24.给定一个链表,实现一个算法交换每两个相邻节点并返回其头部。要求不能修改列表节点中的值,只能更改节点本身。
24. Swap Nodes in Pairs 题目 给定一个链表,交换每两个相邻节点并返回其头部。要求不能修改列表节点中的值,只能更改节点本身。 Example: Given 1->2->3->4, you should return the list as 2->1->4->3....
Python 通过UDP传输超过64k的信息
Python 通过UDP传输超过64k的信息 在网络编程中,UDP(用户数据报协议)是一种常用的传输协议。与TCP不同,UDP是无连接的,并且不保证数据包的顺序、完整性及交付。尽管如此,UDP因其较低的延迟和开销而被广泛应…...
微服务设计原则——高性能:批量
能批量就不要并发。 如果调用方需要调用我们接口多次才能进行一个完整的操作,那么这个接口设计就可能有问题。 比如获取数据的接口,如果仅仅提供getData(int id)接口,那么使用方如果要一次性获取 20 个数据,它就需要循环遍历调用…...
C:指针学习-指针变量—学习笔记
今日伊雷娜: 目录 前言: 1、字符指针变量 1.1 使用字符指针存放字符 1.2 使用字符指针变量存放字符串 2、数组指针变量 2.1 什么是数组指针变量? 2.2 数组指针变量初始化 2.3 关于数组指针类型的解析 3、函数指针变量 3.1 函数地址 …...
【MySQL 07】表的增删查改 (带思维导图)
文章目录 🌈 一、insert 添加数据⭐ 1. 单行数据 全列插入⭐ 2. 多行数据 指定列插入⭐ 3. 插入否则更新⭐4. 插入否则替换 🌈 二、select 查询数据⭐ 1. select 列🌙 1.1 全列查询🌙 1.2 指定列查询🌙 1.3 查询字段…...
快速上手Git
Git相关概念 Git是一个开源的分布式版本控制系统,由Linus Torvalds在2005年创建,用于有效、高速地处理从小到大的项目版本管理。它是由 Linux 之父 Linus Torvalds 开发的,并已经成为了现代软件开发领域中最流行的版本控制系统之一。 git的工…...
RTC时钟测试
1. 基础知识 Linux 的系统时间有时跟硬件时间是不同步的。 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIO…...
大数据技术——实战项目:广告数仓(第六部分)报表数据导出至clickhouse
目录 第11章 报表数据导出 11.1 Clickhouse安装 11.2 Clickhouse建表 11.2.1 创建database 11.2.2 创建table 11.3 Hive数据导出至Clickhouse 第11章 报表数据导出 由于本项目最终要出的报表,要求具备交互功能,以及进行自助分析的能力,…...
Android studio模拟制作-简易的订餐交易小案例
一、最终呈现效果 订餐支付小案例效果 二、布局设计activity_main.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xml…...
消防隐患在线小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,消防隐患举报管理,消防隐患分类管理,统计分类管理,处理结果管理,系统管理 微信端账号功能包括:系统首页,我…...
【Vue3】路由Params传参
【Vue3】路由Params传参 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日…...
授权cleanmymac访问全部磁盘 Mac授权访问权限 cleanmymac缺少权限
CleanMyMac是Mac系统下的一款专业的苹果电脑清理软件,同时也是一款优秀的电脑系统管理软件。它能有效清理系统垃圾,快速释放磁盘内存,缓解卡顿现象,保障系统顺畅地运行。 全磁盘访问权限,就好比机场内进行的安全检查。…...
Ubuntu/18.04 LTS下编译 BoringSSL 库
1、准备一个 Ubuntu/18.04 LTS 系统的设备 2、安装软件 GIT、GCC、CMAKE、G、Golang:1.16 及以上版本 3、克隆仓库源 git clone https://boringssl.googlesource.com/boringssl cd boringssl 4、使用特定版本 git checkout 9fc1c33e9c21439ce5f87855a6591a9324e569fd 5、编…...
【stm32项目】多功能智能家居室内灯光控制系统设计与实现(完整工程资料源码)
多功能智能家居室内灯光控制系统设计与实现 目录: 目录: 前言: 一、项目背景与目标 二、国内外研究现状: 2.1 国内研究现状: 2.2 国外研究现状: 2.3 发展趋势 三、硬件电路设计 3.1 总体概述 3.2 硬件连接总…...
xss靶场详解
目录 1.第一题 2.第二题 3.第三题 4.第四题 5.第五题 6.第六题 7.第七题 8.第八题 1.第一题 在源码script标签里边,innerhtml是用于访问或修改 HTML 元素内的 HTML 内容的,这里是访问spaghet这个元素的,并通过括号里面的东西搜索当前…...
华为的流程管理
华为建设流程体系始于2000年,那时华为公司面临着快速扩张和全球化发展的挑战,意识到传统的管理模式已经无法满足业务发展的需求。为了提高公司的管理效率和竞争优势,华为决定启动流程体系的建设。在建设过程中,华为借鉴了业界最佳…...
如何用OBS Multi RTMP插件实现一键多平台直播:终极免费解决方案
如何用OBS Multi RTMP插件实现一键多平台直播:终极免费解决方案 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你是否曾经梦想过在YouTube、Twitch和Bilibili等平台上同时直…...
终极指南:如何用Tiled2Unity实现Tiled地图到Unity的无缝集成
终极指南:如何用Tiled2Unity实现Tiled地图到Unity的无缝集成 【免费下载链接】Tiled2Unity Export Tiled Map Editor (TMX) files into Unity 项目地址: https://gitcode.com/gh_mirrors/ti/Tiled2Unity 还在为Tiled地图导入Unity而烦恼吗?想要快…...
Windows平台APK安装技术深度解析:APK-Installer架构设计与实践指南
Windows平台APK安装技术深度解析:APK-Installer架构设计与实践指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK-Installer是一款专为Windows平台设计…...
RTX3090也能跑!Qwen2.5-Omni本地部署避坑指南(含vLLM配置)
RTX3090也能跑!Qwen2.5-Omni本地部署避坑指南(含vLLM配置) 当消费级显卡遇上多模态大模型,总会碰撞出令人惊喜的火花。Qwen2.5-Omni作为当前最热门的开源多模态模型之一,其7B版本在RTX3090这类24GB显存的显卡上完全具备…...
LVGL实战:用外部按键(Keypad)和旋转编码器(Encoder)在无触摸屏设备上实现流畅UI交互
LVGL物理交互实战:用按键与编码器打造无触摸屏的流畅UI控制 在智能家居控制面板、工业HMI设备等场景中,物理按键和旋转编码器因其可靠性和低成本优势,成为触摸屏的理想替代方案。本文将深入探讨如何通过LVGL的输入设备子系统,实现…...
告别重复配置,用快马生成可共享的virtualbox开发环境模板提升团队效率
在团队协作开发中,最让人头疼的莫过于每个成员都要重复配置相同的开发环境。尤其是使用VirtualBox这类虚拟机时,从安装系统到配置依赖,往往要耗费数小时。最近我发现了一个能大幅提升效率的方法——通过InsCode(快马)平台生成可共享的Virtual…...
Redis集群模式下如何高效模糊匹配Key?RedisTemplate+Scan全节点遍历实战
Redis集群环境下高效模糊匹配Key的工程实践 Redis作为高性能缓存数据库,在分布式系统中扮演着重要角色。当系统规模扩大,单节点Redis无法满足需求时,集群模式成为必然选择。但在集群环境下,如何高效地进行模糊Key匹配却成为开发者…...
医生也能懂的医学图像分析指南:从X光片到AI诊断全流程解析
医生也能懂的医学图像分析指南:从X光片到AI诊断全流程解析 在门诊忙碌的间隙,王医生打开电脑调出一张胸部CT,屏幕上密密麻麻的灰白色影像中,一个直径不足5毫米的结节若隐若现。这种场景对放射科医生来说再熟悉不过——每天需要在上…...
Qwen3-32B内容创作应用:自动生成文案、报告、邮件
Qwen3-32B内容创作应用:自动生成文案、报告、邮件 1. 为什么选择Qwen3-32B进行内容创作 在当今内容为王的时代,企业每天都需要产出大量高质量的文字内容。从营销文案到产品说明,从客户邮件到内部报告,文字创作已经成为企业运营中…...
简历匹配已成过去式:AI招聘选型的避坑与实战指南
讲真,最近这一年,我听到最多的一句抱怨就是:“我们花了大几十万上的AI招聘系统,怎么用着用着,就只剩下‘自动筛简历’和‘群发面试通知’的功能了?” 在2026年这个节点,如果一家公司的AI招聘系统…...
