STM32
文章平均质量分 93
_smart_boy__
我是一名嵌入式软件工程师,从STM32入门,如今熟练使用车规级芯片,编写汽车软件AUTOSAR代码并解决项目实际问题,喜欢专研和探索,希望和大家互相交流心得,变得更加优秀!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32F4踩坑小记——能不能将函数拷贝到CCMRAM中运行?
本文是接续上一篇文章《从编译到内存全揭秘!STM32工程师必看:点击Build后,代码到底经历了什么?》的进一步探索。在上一篇文章的`5.4 小试牛刀:将中断回调函数拷贝到RAM中运行`章节后,我突发奇想,能不能将函数拷贝到`CCM RAM`中运行?那样的话会更快捷的呀!这个问题困扰了我整整一天的时间,熬夜到半夜,还是无法跳出坑……原创 2025-07-16 17:52:08 · 1476 阅读 · 0 评论 -
STM32F4踩坑小记——使用HAL库函数进入HardFault
这次的踩坑让我出乎意外,因为我的CRC外设的代码一直是正常运行的,后来不知道怎么的,一运行`HAL_CRC_Calculate()`函数,就进入了`hardfault`,为此懊恼不已。问题出在哪里呢?本文洋洋洒洒写了很多,如果您希望直奔最后的解决方案,请直接跳转到`2.8 问题解决`一章节即可。前面写了很多分析过程,弯弯绕绕,不见得读者喜欢。然而这是我的思考过程,里面有讲调试的方法,汇编语句的分析,参考手册的查询和理解,数据手册的阅读和与代码的对照。信息量很多,希望能给大家带来帮助!原创 2025-07-16 15:07:19 · 949 阅读 · 0 评论 -
从编译到内存全揭秘!STM32工程师必看:点击Build后,代码到底经历了什么?
点击STM32CubeIDE的“编译”按钮,看着进度条滚动时,你有没有好奇过:一行行C代码是如何变成单片机能执行的二进制文件的?为什么明明定义了变量到CCMRAM,map文件里却跑到了RAM?编译后的数据段、代码段到底藏在Flash还是RAM里?为什么有时候函数必须放到RAM里才能跑?原创 2025-07-15 23:02:13 · 1149 阅读 · 0 评论 -
STM32F4 ADC 深度解析:从原理到实战,告别踩坑指南
你是否还在为 STM32F4 的 ADC 配置抓耳挠腮?明明按手册步骤操作,却始终读不到正确的 VBAT 电压?温度传感器数据偏差巨大,查遍资料也找不到症结?这篇文章就是为嵌入式开发者量身打造的ADC 通关秘籍!我们不只会带你吃透 STM32F4 ADC 的底层原理 ——12 位高精度转换、19 路通道灵活配置、规则 / 注入通道的优先级机制,更用 ”厨师做菜“ 的生动比喻让抽象的寄存器操作一目了然。原创 2025-07-08 23:25:18 · 1187 阅读 · 0 评论 -
STM32F4硬核实战:FSMC驱动TFTLCD从原理到代码全解析,附避坑指南+调试干货
你是否曾在配置FSMC时序时因参数匹配问题抓耳挠腮?是否在驱动LCD时被地址映射、数据宽度等细节搞得晕头转向?这篇文章将从底层原理出发,带你打通“FSMC驱动TFTLCD”的任督二脉:从FSMC的存储区块划分、信号引脚功能,到TFTLCD的接口类型、驱动芯片指令集,再到硬件电路与代码的深度耦合实现,每一个环节都配有原理图解析、时序图说明和调试案例。原创 2025-06-30 15:18:52 · 1414 阅读 · 0 评论 -
STM32F4 RTC从原理到实战全解析:硬件架构+代码流程+闹钟实战(附可直接复用代码)
在嵌入式开发中,实时时钟(RTC)就像设备的“时间管家”——从智能仪表的时间戳记录到物联网传感器的定时唤醒,几乎所有需要“时间感知”的场景都离不开它。作为STM32F4开发者,你是否曾困惑于RTC的32.768kHz晶振为何是标配?备份域寄存器解锁机制该如何正确使用?闹钟中断配置后为何迟迟不触发?这篇文章将带你系统攻克STM32F4 RTC的所有核心知识:从电源域隔离的硬件架构讲起,拆解LSE晶振分频为1Hz的底层逻辑,到HAL库初始化流程的每一步寄存器操作,再到实战演练。原创 2025-06-29 22:50:46 · 1122 阅读 · 0 评论 -
STM32BCubeIDE编译报警告“.elf has a LOAD segment with RWX permissions”解决方法
你是否在升级STM32CubeIDE后遇到过这样的编译警告——?当熟悉的工程突然冒出这个提示,不少开发者会陷入困惑:明明代码没改,为什么新版本IDE会报警告?这个看似陌生的"RWX权限"到底意味着什么安全隐患?作为经历过从旧版本升级到1.18.1的开发者,我曾被这个警告困扰许久。原创 2025-06-29 13:38:06 · 944 阅读 · 0 评论 -
STM32CubeIDE中文注释变乱码终极解决方案:3步设置永久解决锟斤拷问题!
你是否在STM32CubeIDE中遇到过这样的崩溃场景?——精心编写的中文注释在重新生成代码后变成“锟斤拷”乱码,不仅影响代码可读性,反复修改更是浪费大量时间!作为STM32开发者,我曾被这个问题困扰许久,试过修改软件设置、工程编码却始终治标不治本。直到发现这个基于Java环境变量的终极解决方案,才彻底解决了中文乱码难题。原创 2025-06-27 20:09:21 · 2182 阅读 · 9 评论 -
STM32F4通用定时器TIM9-TIM14讲解及PWM呼吸灯实例解读
STM32F4的定时器分为高级定时器,通用定时器和基本定时器。上一篇文章已经讲了基本定时器。本文遵从由简入繁的原则,先讲解通用定时器的原理,并通过PWM实例帮助大家加深对通用定时器的理解,最后介绍通用定时器的寄存器,旨在帮助大家逐步掌握通用定时器的全部功能。TIM2-TIM5TIM9和TIM12虽然都是通用定时器,也有细微的差别。本文讲解TIM10/TIM11/TIM13/TIM14和TIM9和TIM12两个部分。原创 2025-06-14 22:51:07 · 2217 阅读 · 0 评论 -
STM32F4基本定时器使用和原理详解
STM32的定时器非常强大,我计划分好几篇文章来细讲。本文介绍基本定时器的原理和使用方法。而通用定时器和高级定时器都是从基本定时器扩展丰富而来,所以先把基本定时器掌握了,为下一步掌握更高级的定时器打好基础。STM32中,基本定时器有TIM6和TIM7,我们就以这两个定时器说起。TIM2-TIM5 和 TIM9-TIM14是通用定时器,而TIM1和TIM8是高级控制定时器。原创 2025-06-10 21:18:02 · 1432 阅读 · 0 评论 -
STM32嵌套向量中断控制器(NVIC)及外部中断使用案例分析
本文并不是简单介绍一下外部中断的使用和NVIC浅层的内容,而是从内核角度,深入剖析中断的内涵,中断向量表和MVIC内部机理,最后以外部中断使用案例结束。相信会给你带来惊喜。原创 2025-06-09 21:12:45 · 1296 阅读 · 0 评论 -
STM32F4看门狗原理与实战:从独立看门狗到窗口看门狗的全流程解析
本文详细介绍了独立看门狗和窗口看门狗的配置方法、内部原理和使用方法,对初学者有很大的帮助。全文九千五百多字,耗时一整天的时间。如果您对这一块知识存在一些疑惑,相信看完也会收获满满。原创 2025-06-06 22:59:47 · 1136 阅读 · 0 评论 -
STM32CubeIDE串口配置全流程:从参数设置到代码解析的实战指南
本文从STM32CubeIDE的配置出发,详细介绍了配置流程,另外深入解析USART生成的HAL库初始化相关代码,并给出通过中断和轮询的接收、发送函数的使用方法。尤其对于中断发送函数、中断接收函数的使用和内部原理给出独到而又准确的见解,相信对你有很大的帮助!如果你有这方面的需要,相信你阅读完成会满载而归。原创 2025-06-05 19:40:53 · 1363 阅读 · 0 评论 -
使用STM32CubeIDE踩的小坑——在别的文件定义的函数无法在main.c里正常调用
别的文件夹下的.c 文件需要特意关照一下才会参加编译吗?原创 2025-05-26 21:37:05 · 950 阅读 · 0 评论 -
STM32CubeMX实战:待机模式与唤醒功能的完整配置流程和代码编写
本文详细介绍了STM32待机模式及唤醒功能的实现方法。通过STM32CubeMX配置时钟源(可选择内置HSI或外置晶振)、唤醒源(PA0引脚)和LED引脚,并编写代码实现上电检测待机状态标志、待机模式进入及唤醒功能。实验现象显示,设备能在待机模式下被PA0引脚的上升沿触发唤醒,并通过LED闪烁指示唤醒状态。文章还提供了调试步骤,通过观察PWR寄存器验证待机唤醒功能。该方案适用于低功耗场景,完整展示了从配置到验证的全流程。原创 2025-05-25 22:42:27 · 1413 阅读 · 0 评论
分享