STM32 Cube IDE基础指令和操作笔记
一、设置GPIO状态先在STM32 Cube IDE 中设置GPIO口为输出模式设置GPIO口标签生成代码在主函数操作输出高/低电平指令HAL_GPIO_WritePin(Label_GPIO_Port, Label_Pin, PinState)翻转GPIO指令HAL_GPIO_TogglePin(Label_GPIO_Port, Label_Pin)延时函数指令HAL_Delay(x)二、读取GPIO状态与按键控制GPIO八大模式看另一笔记先在STM32 Cube IDE 中设置GPIO口为输入模式设置GPIO口标签选择输入模式后生成代码1.浮空输入模式no Pull-up and no Pull-down等效于GPIO口是一个超大电阻并获得全部压降电压取决于外部上拉/下拉,外部电路需要有上下拉电阻2.上/下拉输入模式Pull-up/Pull-down使用stm32自带的内部上/下拉电阻外部电路无需上下拉电阻HAL_GPIO_ReadPin(LABEL_GPIO_Port, LABEL_Pin)三、简易按键消抖与按键下降沿检测在STM32 Cube IDE 中设置GPIO口为输入模式设置GPIO口标签生成代码消抖通过硬件消抖软件消抖硬件消抖是按钮并联电容软件消抖是通过延时和状态判断过滤按键抖动当我们需要通过按键切换小灯状态的时候由于按键按着的时候一直发信号不停执行切换指令所以我们还需要在代码中将if按键按下触发改为检测下降沿触发检测按键按下示例代码if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET) { HAL_Delay(10); // 按下消抖 if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET) { HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); while (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) GPIO_PIN_RESET){}; // 等待松手 HAL_Delay(10) // 松手消抖 } }四、中断实现按键上升沿检测在STM32 Cube IDE 中设置GPIO口为中断模式设置GPIO口标签然后在GPIO中设置中断模式为上升沿最后在NVIC中设置中断优先级让SysTick 优先级高于我们的外部中断就可以在中断函数中使用delay函数不建议仅教学生成代码在main文件同文件夹下找到stm32f1xx_it文件翻到最下面找到对应中断号对应的中断函数在中断函数中加入我们的按键检测代码就好其实不建议在中断中使用延时void EXTI15_10_IRQHandler(void) { /* USER CODE BEGIN EXTI15_10_IRQn 0 */ //消抖 if(HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) GPIO_PIN_RESET) { HAL_Delay(10); if(HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) GPIO_PIN_RESET) { HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin); while(HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) GPIO_PIN_RESET){} HAL_Delay(10); } } /* USER CODE END EXTI15_10_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(KEY1_Pin); /* USER CODE BEGIN EXTI15_10_IRQn 1 */ /* USER CODE END EXTI15_10_IRQn 1 */ }

相关新闻

Python 代码一键打包工具 QPyPack:高效构建与分发利器

Python 代码一键打包工具 QPyPack:高效构建与分发利器

深度整合了 PyInstaller 与 Nuitka 两大主流编译引擎,将繁琐的终端命令行参数转化为直观、便捷的图形界面交互,帮助开发者更高效、高成功率地生成跨平台原生可执行程序。核心特性 (Key Features) 为了降低传统命令行构建的配置成本,解决多平台…

2026/8/28 18:07:01 阅读更多 →
苹果与OpenAI硬件大战:端侧AI与云端AI的入口之争

苹果与OpenAI硬件大战:端侧AI与云端AI的入口之争

这次我们来看的不是一个开源工具,而是一场正在进行的技术路线碰撞:苹果和 OpenAI 的硬件大战。表面上是诉讼与人才流动,背后却是端侧 AI 与云端 AI 两条路线对终端入口、芯片能力和模型分发方式的争夺。如果过去几年你还把苹果和 OpenAI 的关…

2026/8/28 18:07:01 阅读更多 →
Django企业级数据安全实战:透明化加密与DES/AES算法集成方案

Django企业级数据安全实战:透明化加密与DES/AES算法集成方案

简介:数据加密是信息安全领域的核心技术,通过算法将明文转换为密文,确保敏感信息在存储和传输过程中的机密性。对称加密算法如DES和AES采用相同密钥进行加解密,其核心原理包括分组加密、轮函数运算和密钥扩展等机制。在Web应用开发…

2026/8/28 18:06:01 阅读更多 →

最新新闻

AgentLoop深度详解:拆解大模型智能体核心运行循环,思考‑工具‑观测迭代执行机制25.4

AgentLoop深度详解:拆解大模型智能体核心运行循环,思考‑工具‑观测迭代执行机制25.4

一、前言现在大模型AI智能体已经成为人工智能落地的核心方向,从智能问答、自动化办公、数据分析,到复杂的业务流程自主执行,背后都离不开一个核心底层机制,AgentLoop智能体循环。当我们在使用LangGraph、AutoGPT、AgentScope等主流…

2026/8/28 18:48:23 阅读更多 →
扩散模型与渐进式学习如何破解重叠指纹分离难题

扩散模型与渐进式学习如何破解重叠指纹分离难题

在指纹识别系统中,重叠指纹一直是让算法工程师头疼的经典难题。两个甚至多个指纹在采集时叠在一起,纹线彼此交叠、混淆,导致特征提取结果被严重污染。过去处理这类问题,业界的主流做法是设计方向场约束或稀疏字典,先把…

2026/8/28 18:48:23 阅读更多 →
传统代码到运行和AI链路部署的区别

传统代码到运行和AI链路部署的区别

一、概述 传统流程:以人工编码为核心的单向线性流水线,从需求分析一路走到编译、测试、部署,走完即止。AI 链路:以「自然语言描述意图 模型生成代码 人工审查」为核心的闭环迭代,编译与测试的结果会反馈回模型继续修…

2026/8/28 18:48:23 阅读更多 →
PMIC在车载摄像头电源设计中的工程实践与选型指南

PMIC在车载摄像头电源设计中的工程实践与选型指南

1. 从一个车载摄像头硬件项目说起前阵子做一款多路车载环视摄像头,让我对电源方案的选择有了不少新体会。这类项目有个让人头疼的问题:摄像头模组本身不复杂,真正逼疯硬件工程师的往往是那套外围电源。传统思路是一路T-BOX或者域控制器过来的…

2026/8/28 18:48:23 阅读更多 →
MYSQL【进阶】 -> 索引(了解)

MYSQL【进阶】 -> 索引(了解)

索引初始一、索引没有索引,可能会发生什么问题呢?索引:提高数据库的性能,索引是物美价廉的东西,不用加内存,不用改程序,不用调sql,只要执行正确的create index,查询速度就…

2026/8/28 18:47:23 阅读更多 →
C语言字符串与内存函数深度解析:从原理到模拟实现

C语言字符串与内存函数深度解析:从原理到模拟实现

1. 项目概述:为什么我们需要亲手“造轮子”?在C语言的世界里,字符串和内存操作是编程的基石。无论是处理用户输入、解析配置文件,还是构建复杂的数据结构,都离不开strcpy、memcpy、strcmp这些耳熟能详的库函数。它们封…

2026/8/28 18:47:23 阅读更多 →

日新闻

2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

2026高校论文查重AIGC双检严查常态化。 市面上绝大多数AI论文工具依旧存在明显短板:模板感重、AI痕迹超标、改写毁逻辑、收费套路多、查重不准、格式适配差。 在全网工具普遍“偏科”的现状下,Paperxie凭借全维度均衡实力脱颖而出,成为适配…

2026/8/28 0:00:11 阅读更多 →
从国赛作品到产品:自研内网穿透工具的核心架构与实战优化

从国赛作品到产品:自研内网穿透工具的核心架构与实战优化

1. 从“国赛二等奖”到真实可用的内网穿透工具:我们做了什么去年,我和团队带着一个自研的内网穿透工具项目,一路闯进了全国性的创新设计大赛,最终拿下了国赛二等奖。说实话,领奖的时候心情很复杂,一方面是激…

2026/8/28 0:00:11 阅读更多 →
20行Python代码构建AI Agent:从零理解智能体核心原理与实现

20行Python代码构建AI Agent:从零理解智能体核心原理与实现

1. 项目概述:从零到一的AI Agent初体验 最近几年,AI Agent这个概念火得不行,感觉身边搞技术的朋友都在聊。但说实话,很多刚入门的朋友一听到“Agent”,就觉得特别高大上,联想到电影里那种无所不能的智能体&…

2026/8/28 0:00:11 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 11:23:26 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/27 17:46:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/28 17:43:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/27 20:00:17 阅读更多 →