蘑
菇
助手
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)
用DWT周期计数器在Cortex-M上测量中断响应延迟的实操方法
嵌入式 · 👁 51 阅读
中断响应延迟是嵌入式实时系统的关键指标,但仅靠GPIO翻转和示波器难以获得精确的周期级数据。本文介绍如何利用Cortex-M内核自带的DWT周期计数器,在无额外硬件的情况下精确测量从中断触发到ISR第一条指令执行的延迟。文章涵盖DWT原理、配置步骤、完整代码示例及常见陷阱,帮助开发者快速定位中断延迟瓶颈。
STM32 HAL库DMA串口空闲中断接收不定长数据的丢包排查与环形缓冲改造
嵌入式 · 👁 47 阅读
本文针对STM32 HAL库下DMA+串口空闲中断接收不定长数据时常见的丢包问题,深入分析HAL_UARTEx_ReceiveToIdle_DMA的机制缺陷与中断响应延迟根源,提出基于环形缓冲区的改造方案。通过原理讲解、配置步骤、完整代码示例与注意事项,帮助开发者彻底解决高波特率下数据丢失问题,提升串口通信可靠性。
STM32定时器输入捕获测PWM占空比:从模式复位自动清零计数器实战
嵌入式 · 👁 53 阅读
本文深入讲解STM32定时器输入捕获测量PWM占空比时,如何利用从模式复位(Slave Mode Reset)实现计数器自动清零,避免每次捕获后手动写CNT。文章涵盖原理分析、CubeMX配置步骤、完整代码示例及关键注意事项,帮助开发者提升测量精度与代码效率。
STM32 HAL库DMA串口空闲中断接收不定长数据:避免半包与粘包并实现零拷贝环形缓冲
嵌入式 · 👁 43 阅读
本文深入讲解STM32 HAL库下利用DMA+串口空闲中断接收不定长数据时,如何通过环形缓冲与零拷贝技术解决半包与粘包问题。从原理分析、CubeMX配置、代码实现到注意事项,提供完整可落地的方案,帮助开发者构建高效可靠的串口通信框架。
STM32 HAL库ADC多通道DMA扫描模式通道顺序错乱的排查与重排方案
嵌入式 · 👁 52 阅读
本文针对STM32 HAL库中ADC多通道DMA扫描模式下数据顺序与预期通道顺序不一致的问题,深入分析ADC扫描序列与DMA传输的映射机制,指出常见配置误区,并提供基于CubeMX和手动重排的两种解决方案。通过原理讲解、配置步骤、完整代码示例和注意事项,帮助开发者快速定位并修复通道顺序错乱问题,确保多通道采集数据的正确性。
STM32F4系列ADC注入通道与规则通道混用时EOC标志误判的配置修正
嵌入式 · 👁 49 阅读
本文针对STM32F4系列ADC在同时使用注入通道和规则通道时,因EOC标志误判导致数据读取错误的常见问题,深入分析ADC状态寄存器中EOC、JEOC标志的置位机制,指出规则组与注入组转换完成标志的混淆原因,并提供基于HAL库的配置修正方案与完整代码示例,帮助开发者彻底解决混用场景下的标志误判问题。
从一次HardFault定位到栈溢出:用Keil MDK调用栈回溯与map文件排查实战
嵌入式 · 👁 45 阅读
嵌入式开发中HardFault异常常令人头疼,尤其当故障由栈溢出引发时,仅靠调试器难以直接定位。本文以一次真实案例为线索,讲解如何利用Keil MDK的调用栈回溯、map文件分析及栈使用量检查,快速锁定溢出点。涵盖原理、配置步骤、完整代码示例与注意事项,助你掌握系统级排查方法。
STM32 HAL库SPI DMA传输完成回调中再次启动DMA导致总线错误的排查与规避
嵌入式 · 👁 46 阅读
本文针对STM32 HAL库开发中,在SPI DMA传输完成回调函数内直接再次启动DMA传输而引发总线错误(BusFault)的典型问题,深入分析HAL库DMA状态机与中断处理机制,揭示错误根源在于DMA通道未完全释放时重复配置。文章提供三种规避方案:延迟重启、状态标志轮询、使用HAL_SPI_TransmitReceive_DMA的循环模式,并给出完整代码示例与调试技巧,帮助开发者彻底解决该隐蔽性故障。
RTOS任务栈溢出静默踩内存:用MPU栈保护区+填充字双保险定位法
嵌入式 · 👁 54 阅读
RTOS任务栈溢出常导致静默踩内存,系统行为异常却难以定位。本文详解栈溢出原理,提出MPU栈保护区与填充字双保险检测方案:MPU在栈底设置不可访问区触发硬件异常,填充字周期性扫描发现越界。给出STM32CubeIDE下FreeRTOS完整配置步骤与代码示例,并总结注意事项,助你快速定位栈溢出问题。
从寄存器层面拆解STM32 GPIO复用功能与重映射配置,避免外设引脚冲突
嵌入式 · 👁 44 阅读
本文深入STM32 GPIO的复用功能(AF)与重映射机制,从寄存器层面解析配置流程。通过剖析AFR、MODER、CRL/CRH等关键寄存器,结合USART、SPI等外设实例,给出完整的寄存器级代码示例与避坑指南,帮助开发者彻底理解引脚复用逻辑,有效解决外设引脚冲突问题。
FreeRTOS中vTaskDelay与vTaskDelayUntil混用导致周期任务漂移的实测对比
嵌入式 · 👁 44 阅读
本文通过实测对比FreeRTOS中vTaskDelay与vTaskDelayUntil在周期任务中的表现,揭示混用两者导致任务周期漂移的根本原因。文章从原理出发,给出配置步骤与完整代码示例,并总结避免漂移的注意事项,帮助嵌入式开发者正确选择延时API,确保周期任务的时间确定性。
基于DMA双缓冲的串口不定长帧接收:空闲中断与半传输中断的协同配置
嵌入式 · 👁 41 阅读
串口不定长帧接收是嵌入式开发中的常见需求,传统中断方式占用CPU资源高。本文深入讲解如何利用STM32的DMA双缓冲机制,结合空闲中断与半传输中断,实现高效、可靠的不定长帧接收。从原理分析到CubeMX配置,再到完整代码实现,逐步剖析关键细节,并给出实际应用中的注意事项,帮助开发者掌握这一实用技能。
‹
1
...
3
4
5
...
182
›