蘑
菇
助手
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库中HAL_Delay在中断上下文调用导致死锁的成因与替代方案
嵌入式 · 👁 83 阅读
本文深入剖析STM32 HAL库中HAL_Delay在中断服务函数中调用引发死锁的根本原因,从SysTick中断优先级与HAL_Delay实现机制入手,揭示优先级冲突导致的系统挂死现象。提供三种实用替代方案:基于DWT的微秒级延时、硬件定时器延时以及非阻塞状态机设计,并给出完整代码示例与配置步骤,帮助开发者规避中断上下文延时陷阱,提升系统实时性与可靠性。
ESP32双核下FreeRTOS任务看门狗与IDLE任务饥饿的定位方法
嵌入式 · 👁 100 阅读
ESP32双核运行FreeRTOS时,任务看门狗(TWDT)超时与IDLE任务饥饿是常见但难定位的稳定性问题。本文从原理出发,分析双核调度特性、TWDT与IDLE任务的关系,给出基于esp_task_wdt与运行时统计的定位步骤,并提供完整代码示例与避坑指南,帮助开发者快速锁定饥饿任务与看门狗误触发根源。
用DWT周期计数器替代SysTick做微秒级函数耗时测量的实操方法
嵌入式 · 👁 79 阅读
在嵌入式开发中,函数耗时测量对性能优化至关重要。SysTick定时器常被用作时基,但其毫秒级分辨率难以满足微秒级测量需求。本文介绍如何利用Cortex-M内核的DWT周期计数器实现高精度耗时测量,涵盖原理、配置步骤、完整代码示例及注意事项,帮助开发者精准定位性能瓶颈。
STM32内部参考电压VREFINT反推VDDA:低成本电池电压监测的校准流程
嵌入式 · 👁 88 阅读
在电池供电的嵌入式设备中,监测电池电压是常见需求。直接使用ADC测量VDD引脚电压会因VDDA未知而无法换算。STM32内部集成的参考电压VREFINT提供了一个已知的稳定基准(典型1.20V),通过测量VREFINT的ADC值可反推出当前VDDA,进而实现无需外部基准芯片的低成本电池电压监测。本文详解原理、校准步骤、完整代码与注意事项。
STM32串口不定长收包实战:DMA+空闲中断全配置与避坑指南
嵌入式 · 👁 77 阅读
串口不定长数据接收是嵌入式开发中的高频需求。本文深入剖析STM32的DMA+空闲中断方案,从原理、CubeMX配置、代码实现到常见陷阱,提供完整可移植的工程代码,并分享实际调试中遇到的坑与解决方案,帮助开发者快速掌握高效可靠的串口收包技术。
STM32串口DMA+空闲中断:彻底解决不定长收包中的半包与粘包边界判定
嵌入式 · 👁 84 阅读
串口不定长收包是嵌入式开发中的高频需求,DMA+空闲中断方案虽能降低CPU负载,但半包与粘包问题常导致协议解析失败。本文深入剖析空闲中断的触发机制与DMA传输计数的时序关系,提出基于“时间窗+长度差”的边界判定策略,并给出完整的HAL库实现代码与避坑指南,帮助开发者稳定处理变长数据帧。
用DWT周期计数器在Cortex-M上实现纳秒级函数耗时测量与误差校准
嵌入式 · 👁 63 阅读
在嵌入式性能调优中,精确测量函数耗时至关重要。本文介绍如何利用Cortex-M内核的DWT周期计数器实现纳秒级测量,涵盖原理、配置步骤、完整代码示例,并深入分析误差来源与校准方法。面向有一定基础的开发者,帮助你在无示波器条件下快速定位热点函数,提升代码执行效率。
STM32 HAL库中DMA与中断同时操作同一外设时的优先级冲突排查与解决
嵌入式 · 👁 78 阅读
在STM32开发中,DMA与中断同时服务同一外设(如UART、SPI)时,常出现数据错乱、丢包或HardFault。本文从NVIC优先级、DMA请求与中断响应时序出发,剖析冲突根因,给出基于HAL库的配置步骤、完整代码示例与排查清单,帮助开发者彻底解决这类隐蔽的优先级冲突问题。
ESP32双核调度实战:WiFi任务钉Core0、应用逻辑放Core1的实测与栈配置
嵌入式 · 👁 87 阅读
ESP32双核FreeRTOS下,WiFi协议栈默认占用Core0,若应用逻辑与WiFi争抢同一核心,易出现延迟抖动与栈溢出。本文从双核调度原理出发,给出将WiFi任务固定到Core0、应用逻辑放到Core1的完整配置步骤、实测数据与栈大小调优方法,并附可直接编译的代码示例与常见坑位提醒,帮助开发者获得更稳定的实时响应。
用DWT周期计数器实现us级精确定时:替代定时器资源的嵌入式方案
嵌入式 · 👁 112 阅读
在STM32开发中,定时器资源常被PWM、编码器、通信等外设占用,导致软件延时精度不足。本文介绍利用Cortex-M内核的DWT周期计数器实现us级精确定时,无需占用硬件定时器,精度可达CPU周期级。文章涵盖DWT原理、配置步骤、完整代码示例及注意事项,帮助开发者在资源紧张时获得高精度延时方案。
ESP32串口DMA+空闲中断实战:彻底解决不定长帧的半包与粘包边界问题
嵌入式 · 👁 86 阅读
串口不定长帧接收是嵌入式开发的常见痛点,尤其在使用DMA+空闲中断时,半包与粘包问题频发。本文深入剖析ESP32 UART的DMA与空闲中断机制,提出基于环形缓冲与帧头帧尾校验的边界处理策略,并给出完整可移植的C代码示例,帮助开发者构建稳定可靠的串口通信框架。
STM32 HAL库中HAL_Delay在中断上下文里被卡死的根因与替代延时方案
嵌入式 · 👁 78 阅读
很多开发者习惯在中断服务函数里调用HAL_Delay做简单延时,结果程序卡死或系统节拍异常。本文从SysTick优先级、HAL_Delay实现机制和中断嵌套规则出发,剖析卡死的根本原因,并给出基于DWT、定时器和状态机等五种可在中断上下文安全使用的延时替代方案,附完整代码与配置要点。
‹
1
...
8
9
10
...
182
›