6.STM32 GPIO 输入功能与按键消抖实战详解

STM32——GPIO输入——按键检测 硬件介绍 当按键置空时,IO接地 按键按下之后,IO口接通3.3V高电压,电流比较大,为了避免损坏IO,这里需要加装一个限流电阻。可以看到IO口是默认低电平,按键按下后产生一个上升沿,和平常的电路设计不太一样。这是因为PA0还具有一种自动唤醒的功能叫Weakup,Weakup必须要是上升沿才能唤醒的。 电容C6以及C14是用来做硬件消抖的。其原理就是,机械按键在按下的过程大约有20ms,在这个过程中,IO与3.3V电源不断地接通,相当于形成了一个交流电,这时有电容的话,这个过程就相当于是在给这个电容不断地 阅读详情

目录

  • 一、GPIO输入功能
  • 二、IO框图分析
    • a)框图分析
    • b)输入模式分类
  • 三、相关寄存器
    • 1.此处图片基于PD8引脚分析
    • 2.输入数据寄存器(IDR)框图
    • 3.端口输入数据寄存器配置方式
  • 四、程序编写
    • 生成代码简述:
      • 对地址进行宏定义
      • 按键初始化
      • 按键控制LED亮灭
      • 按了一下,keylog进位很多,表示按键检测进了很多次
      • 按键抖动原理

摘要:本文以 STM32 的 GPIO 输入功能为主线,从电平识别的基本原理出发,结合 IO 框图分析输入模式的分类,并讲解相关寄存器(ODR、IDR)的配置方式。随后通过按键控制 LED 亮灭的完整实战,介绍按键初始化、代码生成与调试过程,重点剖析按键抖动产生的原因,并对比硬件消抖与软件消抖的区别,详细说明延时消抖为何能有效去除抖动,帮助读者掌握 GPIO 输入与按键消抖的完整开发思路。

一、GPIO输入功能

1.什么作用:

比如说按下按键,引脚根据外部电路读取输入的是高/低电平;

TTL 在 STM32 内高电平 3.3V,低电平是 0V

识别的是电平信号的有和没有

二、IO框图分析

a)框图分析

b)输入模式分类

模拟输入

上拉输入

下拉输入

浮空输入

复用功能输入

三、相关寄存器

1.此处图片基于PD8引脚分析

PD8属于高位寄存器(引脚号8-15);

配置上下拉输入模式时,这两块是连在一起的;如果只配置高寄存器是不对的,还需要参考数据手册上其他内容;

根据端口位配置表:上下拉输入配置与PxODR寄存器有关;

找到对应端口的ODR寄存器,并为其置一操作就能实现上拉输入的配置;

此时才算配置为上拉输入;

2.输入数据寄存器(IDR)框图

便于理解,下方附上输入数据寄存器(IDR)框图

3.端口输入数据寄存器配置方式

四、程序编写

  • 按键控制灯亮灭

按键 PA0 低电平有效,LED 灯是 PC13

安装依赖包(记得 Keil 也需要安)

  • 选择型号

  • 配置烧录引脚及输入输出模式

  • 配置初始化功能

生成代码简述:

对地址进行宏定义

按键初始化

声明全局变量(用于检测按键抖动次数,在软件调试时便于观察按下次数与实际次数是否相等)

按键控制LED亮灭

if((KEY_GPIO_Port->IDR &(1<<0)) == 0)
		{
			HAL_Delay(100);									
			if((KEY_GPIO_Port->IDR &(1<<0)) == 1){
					if(keylog < 250){
						keylog++;
					}else{
						keylog = 0;
					}
			}
			LED_GPIO_Port->BSRR = (1<<13);
		}
		else
		{
			LED_GPIO_Port->ODR &= ~(1<<13);
		}

按了一下,keylog进位很多,表示按键检测进了很多次

按键抖动原理

按键抖动波形示意图:

理想情况下,按下按键时电平会瞬间从高电平跳变为低电平(低电平有效);但实际由于机械触点的弹性,按下瞬间电平会在高、低之间快速来回跳变数次,持续约 5~20ms 后才稳定为低电平。松开按键时同样会出现反向的抖动过程。这种在稳定电平出现之前的高频跳变,就是按键抖动。

硬件消抖与软件消抖的区别:

  • 硬件消抖:在按键引脚外部增加 RC 滤波电路(电阻 + 电容)或使用 RS 触发器、施密特触发器,利用电容的充放电特性吸收电平的快速跳变,从物理层面把抖动信号平滑掉。优点是消抖实时、不占用 CPU 时间;缺点是需要额外元器件,增加电路成本和 PCB 面积。
  • 软件消抖:不增加任何硬件,在程序中通过延时、循环检测或定时器扫描等方式,跳过按键按下瞬间的抖动区间,只认稳定后的电平。优点是零成本、修改灵活;缺点是会占用一定的 CPU 时间,且延时期间无法响应其他任务。

为什么延时消抖能有效去除抖动:

按键抖动只发生在按下或松开的瞬间,持续时间通常只有几毫秒到二十毫秒。延时消抖的思路是:第一次检测到按键电平变化后,不立即采信,而是先延时一段时间(例如 HAL_Delay(100),即 100ms),等抖动完全结束、电平稳定之后,再读取一次引脚电平。如果第二次读取到的电平与第一次一致,说明确实是有效按键,而不是抖动产生的毛刺,此时才执行按键对应的操作。这样就把抖动期间那些不稳定的电平跳变全部过滤掉了,从而保证一次按键只被识别一次。

  • 消抖后程序

延时消抖

  • 抬手监测消抖
                if((KEY_GPIO_Port->IDR &(1<<0))==0)
                {
                        HAL_Delay(100);
                        if((KEY_GPIO_Port->IDR &(1<<0))==1)
                        { 
                                LED_GPIO_Port->BSRR=(1<<13);
                        }
                }else{
                        LED_GPIO_Port->ODR &=~(1<<13);
                }                                                                                                                                                                                                                                                                                                                                                                              
                if((KEY_GPIO_Port->IDR &(1<<0))==0)
                {
                        HAL_Delay(100);
                        if((KEY_GPIO_Port->IDR &(1<<0))==1)
                        { 
                                LED_GPIO_Port->BSRR=(1<<13);
                        }
                }else{
                        LED_GPIO_Port->ODR &=~(1<<13);
                }                                                                                                                                                                                                                                                                                                                                                                              
  • 库函数方式
    if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin)==GPIO_PIN_RESET)        
                {
                        HAL_Delay(100);
                        if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin)==GPIO_PIN_RESET)        
                        {
                         HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
                        }                                
                }
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  GPIO_PinState bitstatus;

  /* Check the parameters */
  assert_param(IS_GPIO_PIN(GPIO_Pin));//检查是否合法
        //PA0 GPIO_Pin=GPIO_PIN_0 也就是第0位为1
  if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)//如果不等于0
  {
    bitstatus = GPIO_PIN_SET;//返回1
  }
  else
  {
    bitstatus = GPIO_PIN_RESET;//返回0
  }
  return bitstatus;
}

五、总结

本文围绕 STM32 的 GPIO 输入功能,从电平识别、IO 框图、寄存器配置到按键实战,完整梳理了输入开发的核心链路。下面概括关键要点,并补充常见问题与调试建议。

核心要点

  • GPIO 输入功能:引脚根据外部电路读取高/低电平,STM32 内高电平为 3.3V,低电平为 0V,本质是识别电平信号的有和无。
  • 输入模式分类:包括模拟输入、上拉输入、下拉输入、浮空输入和复用功能输入。配置上下拉输入时,需要结合 PxODR 寄存器置一操作,才能正确实现上拉输入。
  • 寄存器配置:输入数据寄存器(IDR)用于读取引脚电平;配置上下拉输入时,高位寄存器与低位寄存器需要配合处理,并参考数据手册确认 ODR 寄存器的设置。
  • 按键消抖:机械按键按下瞬间会产生 5~20ms 的电平抖动。硬件消抖通过 RC 滤波或触发器从物理层面平滑信号;软件消抖通过延时、循环检测或定时器扫描跳过抖动区间。延时消抖的核心思路是第一次检测到电平变化后先延时,待电平稳定后再读取一次,两次一致才认定为有效按键。

常见问题与调试建议

  • 按键检测次数异常:按下一次 keylog 进位很多,说明没有消抖或消抖不充分,抖动被误判为多次按键。建议在检测到电平变化后加入 HAL_Delay(100) 延时,再二次确认电平状态。
  • 上拉输入配置无效:只配置高位寄存器往往不够,需要同时确认对应端口的 ODR 寄存器并置一,才能正确实现上拉输入。
  • 电平读取不稳定:检查外部电路是否接好上下拉电阻,确认引脚模式与外部电路匹配,避免浮空输入导致电平不确定。
  • 延时消抖影响响应:延时期间 CPU 被占用,若对实时性要求较高,可改用定时器扫描或状态机消抖,避免阻塞其他任务。
  • 调试建议:通过全局变量 keylog 观察按键按下次数,与实际按键次数对比,可快速判断消抖是否生效;同时结合示波器观察引脚波形,确认抖动区间和稳定电平。
STM32单片机按键消抖和FPGA按键消抖大全 写在前面: STM32单片机按键消抖和FPGA按键消抖大全 按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖动时间的长短和按键的机械特性有关,一般为5~10ms。通常我们手动按键然后释放,这个动作中稳定闭合的时间超过了20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专门的去抖动芯片,但通常我们采用软件延时的方... 阅读详情

相关推荐

STM32按键输入与GPIO读取函数深度解析

本文深度解析STM32按键输入与GPIO读取函数,涵盖GPIO输入模式配置、GPIO_ReadInputDataBit等关键函数的使用技巧。通过实际案例详细讲解按键检测的软件实现,包括消抖处理、状态机设计和多按键处理策略,帮助开发者优化嵌入式系统的人机交互功能。

gray5的博客 1159

【STM32】HAL库——按键原理及消抖

前期准备: STM32CubeMX STM32RCT6核心板 IDE Keil(MDK-ARM) 什么是按键消抖? 按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖 按键工作原理 这是最基本的按键电路,以KEY1为例: 3.3V流经10k电阻(限流电阻),经过按键再流入地,但是按键常态是松开的,也就是说这条路常态

Q大帅 1万+

从电路设计视角:深入解析STM32 GPIO上拉输入与按键消抖的硬件协同

本文从硬件电路设计角度深入解析STM32 GPIO上拉输入模式与按键电路的协同工作原理。通过分析GPIO输入模式匹配、硬件消抖设计及电平稳定性优化,帮助工程师在硬件层面解决按键抖动和误触发问题,提升系统可靠性和功耗效率。

palm99的专栏 1111

STM32按键扫描及按键消抖

①检测按键是否按下②延时10~15ms③再检测按键是否按下④等待按键抬起⑤返回键值。

memoryers的博客 6660

避开STM32H7的‘保护陷阱’:从Option Byte机制深度解析读写保护原理与预防

本文深度解析STM32H723VGT6的Option Byte保护机制,详细讲解RDP读保护和WRP写保护的工作原理及配置方法,并提供硬件设计防御策略和软件预防性编程技巧,帮助开发者避免误触发保护机制导致芯片锁定的问题。

weixin_33686714的博客 442

Ubuntu 24.04 新增用户并禁用 root 账户操作指南

Ubuntu 24.04 新增用户并禁用 root 账户操作指南

深山技术宅的博客 1859

STM32按键消抖(HAL)

按键是学习STM32必不可少的一个部分,是一个典型的GPIO口输入的案例。要掌握其中的原理和使用方法。(这里我用的是f103RCT8和HAL库的示例)本人是新手一枚,上述有些内容是本人学习完后的一些看法,如有错误请指出。

m0_62683461的博客 9092

强化学习Q值迭代的几何视角:从策略区域到快速收敛

在强化学习中,Q值迭代是求解最优策略的核心算法,其理论基础建立在贝尔曼不动点定理之上。该算法通过迭代更新Q函数,使其逐步逼近最优值函数。从几何视角看,整个Q函数空间可被视为一个高维流形,每个Q函数对应流形上的一个点,而贝尔曼最优算子则定义了流形上的变换轨迹。理解这一几何结构,特别是由策略超平面划分出的凸多面体区域,对于分析算法的收敛行为至关重要。在实际工程中,传统Q值迭代可能在高维或稀疏奖励环境下收敛缓慢,甚至陷入策略高原。通过引入策略区域缓存与自适应学习率等几何启发方法,可以更高效地导航策略空间,加速策略

weixin_30444111的博客 319

第二篇:按键交互入门:STM32 GPIO输入与消抖处理

本文介绍了STM32 GPIO输入功能的应用,通过按键控制LED亮灭。主要内容包括:1)按键输入原理及GPIO的输入模式配置;2)硬件电路设计(推荐上拉输入+按键接地方案);3)软件实现中读取引脚电平、消抖处理(延时20ms)等关键代码解析;4)常见问题排查方法。该实验为嵌入式人机交互基础,后续可扩展为中断优化或复杂输入设备控制。

欢迎来到我的博客 1359

详细解读文字识别工具———Tesseract-OCR

   在尝试破解12306验证码的时候,提前了解了一下应对各种验证码的解决方案,这里主要是学习到了面对文字图片验证码,例如亚马逊、豆瓣等平台的登录时会遇到的情况,效果还不错。 一、工具介绍 ​    Tesseract-OCR 是一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition...

别看我只是一只羊 2万+

拒绝无意义刷屏,打造高效率热点追踪,极空间部署『TrendRadar』

今天的这个项目确实不错,通过部署在极空间NAS之后,我们就能一直不间断的获取到自己想要看到的新闻或者信息。项目的设置项其实有很多,有兴趣的小伙伴可以在部署之后自己慢慢挖掘~目前年终大促正在火热进行中,极空间NAS不管是新品还是之前在售的畅销型号都有专属的优惠,并且还能叠加国补、平台优惠等福利,享受180天换新以及2年质保服务 ,更有抽奖、晒单等活动,喜欢的小伙伴赶快冲吧!

qq_63499861的博客 2293

2-STM32GPIO输入之按键

本章讲述GPIO输入的应用,使用独立按键来进举例验证。

南山府的博客 3007

基于全局和局部接受性因果特征的广义学习模型,用于在线增量机械故障诊断

本文提出了一种**因果广义学习模型(CBLM)**,用于在线增量机械故障诊断。该模型结合了**全局因果特征**(时域、频域、故障特征频率均值)和**多尺度局部因果特征**(通过扩张卷积提取),构建了一个具有**增量学习能力**的广泛学习系统(BLS)。CBLM支持**结构增量学习**(增加增强节点)和**样本增量学习**(动态更新权重),无需重新训练整个模型,显著提高了计算效率和诊断精度。在两个滚动轴承数据集上的实验表明,CBLM在诊断准确性和训练时间上均优于传统深度学习模型,适用于在线实时故障诊断。

huanghm88的专栏 388

stm32按键 普通消抖,定时器消抖,双击,长按,短按(一)

main.cwhile (1)if(flag==1)//flag为15ms的中断标志位//记录上次的电平if(pre_state==1&&now_state==0)//一般来说只用按键松开,可以将上边的if判断删除,我留下的目的是如果有特殊需求也方便直接使用flag=0;count++;count=0;flag=1;

qq_66771136的博客 2040

网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel)

目录 ICMP隧道 使用ICMP搭建隧道(PingTunnel) 使用ICMP搭建隧道(Icmptunnel) ICMP隧道 ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相...

谢公子的博客 6697

openclaw : 无法将“openclaw”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案

本文主要介绍了openclaw : 无法将“openclaw”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

STM32按键消抖与GPIO输入原理详解

按键输入是嵌入式人机交互的基础技术,其本质是机电耦合过程,核心挑战在于机械抖动导致的电平误判。理解抖动(Mechanical Bounce)的物理成因与毫秒级持续特性,是设计可靠输入系统的第一步;在此基础上,需结合MCU GPIO的输入电路模型——特别是上拉输入(Pull-up Input)与下拉输入的硬件约束、施密特触发器抗干扰机制,以及浮空输入的风险规避——完成底层电气匹配。该技术广泛应用于STM32F103等主流MCU的按钮检测、状态切换与低功耗唤醒等场景,本文以工程实践为线索,贯通从物理抖动、寄存器

s8t9u0v1w的博客 1008

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

STM32按键与LED联动实战:GPIO输入输出、消抖与OLED调试

GPIO是嵌入式开发的基础,掌握其输入输出模式是理解微控制器与外部世界交互的关键。通过上拉/下拉输入和推挽输出,STM32能够可靠读取按键状态并驱动LED,而软件消抖与边沿检测技术则解决了机械按键的抖动与连击问题。这种输入输出联动不仅实现了人机交互,更构建了可视化调试的闭环,配合OLED实时显示键值与LED状态,让程序运行过程一目了然。本文以STM32、GPIO、LED、OLED、按键为核心,从硬件电路到代码实现,完整呈现了从轮询到状态机、从点灯到可视化调试的嵌入式入门实践。

weixin_34023982的博客 2317

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

stm32按键软件和硬件消抖

在STM32单片机中,对按键进行硬件和软件消抖设计是为了消除机械开关在闭合或断开时产生的瞬态抖动,确保准确检测到按键的真实状态。

3254968421的博客 3993

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32 GPIO按键输入与硬件消抖原理实战

GPIO输入是嵌入式系统最基础的外设交互方式,其核心在于理解电平采样背后的物理机制与电气约束。机械按键存在接触抖动与释放抖动,典型持续5–20ms,若不处理将导致误触发;而上拉输入模式通过外部/内部电阻确保空闲态电平稳定,是抗干扰设计的关键起点。在STM32F103等Cortex-M3平台中,正确配置时钟使能、引脚上下拉及输入模式,是避免浮空误读和中断失效的前提。软件层面需结合非阻塞状态机实现精准消抖,并融入BSP分层架构以提升可移植性。本文围绕按键这一典型GPIO输入场景,系统解析从硬件特性、寄存器配置到

b0c1d2的博客 706

[stm32]stm32按键外部中断,如何消抖

讨论一下stm32下按键外部中断如何进行有效的消抖 工程的代码是直接使用stm32 cubeMX进行配置生成的,下面就一起讨论吧。 1. 在中断处理服务函数中注释清除中断标志的语句,防止按键抖动而不断的进入中断服务程序中 2. 进入回调函数后先进性延时,一般为10ms,进行消抖,然后再判断引脚的电平状态 3. 在结束时一定注意要延时一段时间,然后才清除中断标志,而且要相对消抖时间要长一些,目的是为...

slimmm的博客 4万+

STM32 GPIO输入原理与按键消抖工程实践

GPIO(通用输入输出)是嵌入式系统中微控制器与物理世界交互的基础接口,其本质是通过寄存器控制引脚电平状态,实现数字信号的采集与驱动。理解其工作原理需结合硬件电气特性(如上下拉配置、噪声容限)与软件抽象(如HAL库语义化枚举、状态机建模)。关键技术价值在于保障输入可靠性——机械按键存在抖动,必须通过硬件滤波(上拉/下拉电阻)与软件消抖(延时或状态机)协同解决,否则将引发假阳性/假阴性误判。典型应用场景包括人机交互(按键检测)、状态指示(LED联动)、工业I/O采集等。本文以STM32 PC13按键为例,系统

g9h0i1的博客 792

STM32按键消抖与GPIO输入工程实践指南

按键输入是嵌入式系统中最基础的人机交互方式,其本质是一个受机械抖动和电气噪声干扰的非理想开关信号。理解GPIO输入的电气模型(如上拉/下拉配置)、掌握HAL_GPIO_ReadPin()等核心API的语义化用法,并实施基于状态机的软件消抖,是保障系统可靠性的关键技术路径。消抖并非简单延时,而是通过时间窗口过滤瞬态干扰、结合电平稳定性与边沿完整性判断有效事件的过程。该技术广泛应用于STM32F103、L151等主流MCU的按键扫描、人机界面及工业控制场景,是嵌入式C语言开发与HAL库工程化落地的关键实践环节。

kappa的博客 716

stm32硬件消抖_STM32 软件按键消抖

引言通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动,如图1所示。图1分析按键稳定闭合时间长短是由操作人员决定的,通常都会在 100ms 以上,刻意快速按的话能达到 40-50ms 左右,很难再低了。抖动时间是由按键的机械特性决定的,一般都会在 10m...

weixin_35668158的博客 3385

【STM32】GPIO输入模式实战:按键消抖与LED控制逻辑解析

本文深入解析STM32 GPIO输入模式在按键控制与LED应用中的实战技巧。详细介绍了按键消抖的硬件与软件实现方案,包括电平触发和翻转触发两种模式的选择与配置,并通过完整代码示例展示如何稳定可靠地实现按键控制LED功能。

egg99的博客 703

STM32 GPIO输入实战:按键控制LED与消抖原理详解

在嵌入式开发中,GPIO(通用输入输出)是单片机与外部世界交互的基础接口,其输入模式的正确配置是实现按键控制、传感器读取等功能的起点。理解上拉电阻与下拉电阻的电路原理,掌握电平读取与软件消抖机制,对提升系统抗干扰能力和稳定性至关重要。STM32作为主流MCU,其标准库提供了简洁的GPIO配置接口,通过按键控制LED这一经典实战,开发者可以快速掌握输入模式配置、边沿检测、抖动处理等核心技能。该技能广泛应用于智能家居、工业控制面板、可穿戴设备等场景,是嵌入式入门必须夯实的基础。本文从GPIO输入的基础概念出发,

weixin_28273593的博客 228
上一篇: 5.STM32 HAL库入门实战:从零驱动蜂鸣器(附完整代码)
下一篇: 7.STM32 串口通信详解:从通信基础到 UART/USART 实战调试
硅基造物主
博客等级 码龄4年 17粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值