news 2026/8/5 23:45:51

初学STM32,我遇到的那些问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初学STM32,我遇到的那些问题

初学STM32标准库时,我遇到过几个“代码和接线都对,但硬件死活没反应”的怪问题。排查后发现,它们大多不是逻辑错误,而是藏在硬件接触、配置细节里的坑。本文记录了其中几个典型案例和我的解决过程

1. 电路导通异常

明明代码和电路连接跟教程里的一模一样,但是编译下载完后硬件那边毫无反应,我怀疑电路某些地方接触不良,于是把最小系统板用力往下摁,发现预期现象出现了,类似的,LED长脚和短脚,杜邦线等也可能出现接触不良的情况。
原理:硬件存在虚接,造成间歇性通路断开

2. 复位后USB无法自动重连

点亮一个LED,代码编译和下载都没问题,但是发现重新拔插ST-Link,灯才能亮,通过ai的解释,我知道了是我Keil设置的问题,为了方便观察现象,我把设置调了调,以后就不用频繁拔插USB,下载程序直接能观察到现象了




原理:复位模式不匹配,芯片不会自动加载 Flash 程序

3. 调用函数时代码写错

将点亮LED的功能封装成LED_ON()函数,从LED.h文件中复制粘贴到main.c文件中调用,没有对.h文件中的函数声明语句进行修改,直接编译下载,编译器未报错,但是LED不亮,起初很自信地认为代码没问题,是不是电路连接出了问题?仔细检查一番问题出在代码上。这里我想说,编译器不报错不代表代码是对的,写代码时一定要细致。

//错误调用voidLED1_ON(void);//正确调用LED1_ON();

原理:声明语法错误不会触发编译告警,但函数无法正常链接

4. 头文件未导入

在按键控制LED的程序中,使用了uint8_t类型,但是报错了

这表明编译器“不认识”uint8_t,需要导入头文件,这种情况在C语言的学习中也遇到过,有一定经验的话可以很快找到解决方案
这里给出两种方案:
①导入stdint.h头文件。uint8_t不是C语言原生类型,这个类型定义在stdint.h里

#include<stdint.h>

②若不清楚uint8_t类型具体定义在哪个头文件,也可直接导入芯片头文件。原因:#include “stm32f10x.h” → 内部链式引入了 core_cm3.h → core_cm3.h 里面自带 #include <stdint.h>

原理:uint8_t 不是 C 原生类型,在标准头文件定义

5. 时钟开启端口和GPIO初始化端口不匹配

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIOA时钟GPIO_Init(GPIOB,&GPIO_InitStructure);//却初始化GPIOB引脚

复制粘贴也要检查啊!
原理:外设必须开启对应端口时钟才能供电工作

持续更新中…

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 23:37:29

Java Stream.reduce() 深度解析:从基础原理到并行陷阱与实战应用

1. 从一次“求和”引发的困惑说起最近在帮一个刚入行的同事排查一个数据统计的Bug&#xff0c;代码里用了一长串的Stream操作&#xff0c;最后用.reduce(0, Integer::sum)来计算总和。乍一看没问题&#xff0c;但跑出来的结果偶尔会是0&#xff0c;而不是预期的累加值。他挠着头…

作者头像 李华
网站建设 2026/8/5 23:35:10

Markdown与Typora:提升写作效率的轻量级标记语言与编辑器指南

1. 项目概述&#xff1a;为什么“了不起的Markdown”值得你投入时间如果你还在用Word、WPS或者各种在线文档编辑器&#xff0c;为了调整一个标题的格式、插入一张图片的位置而反复点击鼠标&#xff0c;那么“Markdown”这个概念&#xff0c;可能会彻底改变你的写作和内容创作习…

作者头像 李华
网站建设 2026/8/5 23:32:15

游戏抽奖概率模型解析:从独立事件到保底机制的策略规划

你打开游戏&#xff0c;想抽个喜欢的皮肤&#xff0c;结果连抽几十次全是重复的普通款&#xff0c;想要的稀有款连影子都没见着。这不是运气问题&#xff0c;而是概率问题。在《蛋仔派对》这类游戏中&#xff0c;“抽盲盒”早已不是简单的娱乐&#xff0c;它背后是一套精密的概…

作者头像 李华
网站建设 2026/8/5 23:31:04

三分钟免费接入DeepSeek:Codex本地客户端配置与AI编程实战

最近在尝试接入各种AI模型时&#xff0c;发现很多开发者都被复杂的配置、高昂的费用和繁琐的验证流程劝退。特别是想体验最新的模型&#xff0c;比如 DeepSeek V4 Flash&#xff0c;往往需要注册多个平台、充值算力&#xff0c;过程相当折腾。 今天分享一个极其高效的解决方案…

作者头像 李华
网站建设 2026/8/5 23:21:45

GlobeLand30全球地表覆盖数据:从下载到城市扩张分析的完整指南

1. 项目缘起&#xff1a;为什么我们需要一套全球地表覆盖数据&#xff1f;作为一名长期和数据打交道的人&#xff0c;我经常遇到一个看似简单却无比棘手的问题&#xff1a;如何快速、准确地知道地球上某一块区域&#xff0c;比如中国长三角、美国加州中央谷地&#xff0c;或者亚…

作者头像 李华
网站建设 2026/8/5 23:21:05

AI做社群运营:错过这4个关键节点,下周用户流失率将飙升300%

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;AI做社群运营&#xff1a;错过这4个关键节点&#xff0c;下周用户流失率将飙升300% 当AI介入社群运营&#xff0c;它并非万能润滑剂——而是高精度的“行为触发器”。一旦在用户生命周期的关键触点失效&#x…

作者头像 李华