蘑
菇
助手
MCU助手 · 单片机工具箱
登录
注册
🏠
首页
🧰
工具
📖
文库
❓
问答
✍️
提问
🏠 首页 /
技术文库
📖 技术文库
STM32 / Arduino / RTOS / 嵌入式 知识文章
全部
STM32
STM32 定时器
STM32 串口
STM32 ADC
Arduino 入门
STM32 看门狗
STM32 I2C
STM32 DMA
STM32 低功耗
STM32 编码器
RTOS RTOS
STM32 PWM
嵌入式 IO
STM32 SPI
STM32 中断
STM32 时钟
STM32 存储
Arduino 进阶
ESP32 WiFi
嵌入式 协议
STM32 CAN
STM32 USB
STM32 RTC
STM32 DAC
STM32 GPIO
STM32 传感器
嵌入式 架构
STM32 Boot
嵌入式 调试
STM32 电机
嵌入式 PCB
ESP32 低功耗
STM32 寄存器
嵌入式 C语言
STM32 架构
STM32 显示
STM32 外设
嵌入式 内存
STM32 工具
STM32 调试
嵌入式 稳定性
嵌入式 电源
STM32 安全
嵌入式 RTOS
嵌入式 存储
STM32 Bootloader
STM32 协议
ESP32 物联网
ESP32 OTA
ESP32 蓝牙
嵌入式 显示
嵌入式 驱动
嵌入式 电机
STM32 入门
RTOS 看门狗
嵌入式 CAN
项目 实战
嵌入式 控制
嵌入式 蓝牙
嵌入式 传感器
嵌入式
展开全部分类 (54)
STM32 HAL库中__weak函数重定向导致中断服务程序失效的排查路径
嵌入式 · 👁 80 阅读
本文针对STM32 HAL库开发中,用户自定义中断服务程序(ISR)无法被调用的问题,深入剖析__weak函数重定向机制。通过一个典型故障案例,详细讲解从现象观察、链接脚本分析、启动文件检查到重定向验证的完整排查路径,并提供正确的代码实现与注意事项,帮助开发者快速定位并解决此类隐蔽性极强的中断失效问题。
STM32 HAL库中HAL_Delay在中断上下文里为什么会死等,以及基于DWT周期计数器的微秒级延时替代实现
嵌入式 · 👁 72 阅读
本文深入剖析STM32 HAL库中HAL_Delay在中断上下文中导致死等的原因,揭示其依赖SysTick中断的机制缺陷。针对此问题,提出基于DWT周期计数器的微秒级延时替代方案,详细讲解DWT原理、配置步骤,并提供完整代码示例与注意事项,帮助开发者在中断服务程序中实现安全、精准的延时。
用DWT周期计数器给中断服务程序做微秒级耗时测量与热点定位
嵌入式 · 👁 69 阅读
中断服务程序(ISR)的耗时直接影响系统实时性,但传统GPIO翻转+示波器方法占用引脚且难以定位内部热点。本文介绍如何利用Cortex-M内核自带的DWT周期计数器,以零外设依赖的方式实现ISR微秒级耗时测量,并通过分段打点定位耗时热点。内容涵盖DWT原理、初始化配置、测量框架代码及实战注意事项,帮助嵌入式开发者快速优化中断性能。
STM32 HAL库DMA+空闲中断接收不定长串口数据的溢出风险与环形缓冲区改造
嵌入式 · 👁 81 阅读
本文深入剖析STM32 HAL库中DMA+空闲中断接收不定长串口数据的常见溢出风险,包括DMA传输完成与空闲中断的竞争、缓冲区覆盖等问题。通过引入环形缓冲区改造,实现安全高效的不定长数据接收。文章包含原理讲解、配置步骤、完整代码示例及注意事项,帮助开发者规避陷阱,提升串口通信可靠性。
STM32串口DMA+空闲中断实战:彻底解决不定长收包的半包与粘包边界问题
嵌入式 · 👁 57 阅读
串口不定长收包是嵌入式开发中的高频需求,DMA+空闲中断方案虽能大幅降低CPU负载,却常因半包与粘包导致协议解析异常。本文深入剖析空闲中断的触发机制与DMA传输的时序关系,给出基于双缓冲与长度快照的边界处理技巧,并提供可直接移植的完整代码与避坑指南,助你构建稳定可靠的串口通信框架。
STM32 HAL库ADC多通道DMA扫描模式:采样顺序与注入通道混用配置要点
嵌入式 · 👁 74 阅读
本文深入解析STM32 HAL库下ADC多通道DMA扫描模式的采样顺序机制,并探讨规则通道与注入通道混用时的配置要点。涵盖ADC扫描序列、DMA传输原理、CubeMX配置步骤、完整代码示例及常见陷阱,帮助开发者高效实现多通道模拟信号采集,提升嵌入式系统数据采集的可靠性与实时性。
STM32串口DMA+空闲中断实现不定长数据接收:从原理到实战避坑指南
嵌入式 · 👁 64 阅读
本文深入讲解STM32串口DMA+空闲中断接收不定长数据的完整实现方案。从DMA与USART空闲中断的工作原理出发,提供CubeMX配置步骤、HAL库代码示例,并总结实际调试中常见的坑点与解决方案,帮助开发者高效稳定地处理串口不定长数据。
STM32 DMA双缓冲模式在串口不定长接收中的配置与半传输中断陷阱排查
嵌入式 · 👁 67 阅读
本文深入讲解STM32 DMA双缓冲模式在串口不定长接收中的应用,涵盖原理、配置步骤、完整代码示例,并重点剖析半传输中断的常见陷阱与排查方法。适合有一定基础的嵌入式开发者,帮助提升串口通信的稳定性和效率。
用DWT周期计数器做函数级耗时统计:比GPIO翻转更少侵入的实测方法
嵌入式 · 👁 57 阅读
在嵌入式开发中,精确测量函数执行时间对性能优化至关重要。传统GPIO翻转法需要占用引脚且受限于示波器带宽,而Cortex-M内核自带的DWT周期计数器能以极低侵入性实现纳秒级分辨率。本文详解DWT工作原理、配置步骤,并提供完整可移植的代码示例,帮助开发者快速构建函数级耗时统计工具,同时讨论多任务、中断等场景下的注意事项。
STM32 HAL库中DMA+空闲中断实现变长串口帧接收的完整配置与踩坑记录
嵌入式 · 👁 70 阅读
串口通信中变长帧接收是常见需求,传统中断方式效率低且易丢数据。本文基于STM32 HAL库,详细讲解如何利用DMA+串口空闲中断实现高效变长帧接收,涵盖原理分析、CubeMX配置、完整代码示例及实际调试中遇到的坑与解决方案,帮助开发者快速掌握这一实用技能。
STM32 HAL库中__weak函数被用户重定义后仍进默认实现的链接顺序排查
嵌入式 · 👁 47 阅读
在STM32 HAL库开发中,用户常通过重定义__weak函数(如HAL_UART_RxCpltCallback)实现自定义逻辑,但有时发现重定义后仍进入默认空实现。本文深入分析__weak机制与链接顺序,揭示静态库链接时符号解析的陷阱,提供三种排查方法(map文件分析、链接顺序调整、-Wl,--whole-archive),并给出完整代码示例与注意事项,帮助开发者彻底解决此问题。
STM32 HAL库DMA串口空闲中断接收不定长数据的丢包复现与环形缓冲修复
嵌入式 · 👁 70 阅读
本文面向有一定STM32基础的开发者,深入分析HAL库中DMA+串口空闲中断接收不定长数据时丢包的根因,通过复现实验展示问题现象,给出基于环形缓冲区的修复方案,包含完整代码、配置步骤与关键注意事项,帮助读者彻底解决高波特率下数据丢失问题。
‹
1
...
9
10
11
...
182
›