蘑
菇
助手
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库ADC多通道DMA扫描采样通道顺序错乱的排查与修复
嵌入式 · 👁 6 阅读
在STM32 HAL库下使用ADC多通道DMA扫描采样时,很多开发者会遇到DMA缓冲区数据与通道顺序不一致的问题。本文从ADC扫描序列、DMA传输宽度、HAL库初始化顺序三个角度剖析根因,给出基于CubeMX与手写代码的完整修复方案,并提供可复用的校验代码与避坑清单,帮助你在电机控制、多传感器采集等场景中稳定获取正确通道数据。
STM32串口DMA+空闲中断实战:彻底解决不定长收包的半包与粘包问题
嵌入式 · 👁 6 阅读
串口不定长收包是嵌入式开发中的常见需求,DMA+空闲中断方案虽高效,却常因半包与粘包导致数据解析错误。本文深入剖析空闲中断的触发机制与半包/粘包的成因,提出基于环形缓冲区与帧边界标记的工程化处理方案,并给出完整的STM32 HAL库代码实现,涵盖初始化、中断处理、数据提取与异常保护,帮助开发者构建稳定可靠的串口通信框架。
从零实现ESP32双核任务间无锁队列:xQueueSendFromISR的临界区陷阱与实测吞吐对比
嵌入式 · 👁 6 阅读
ESP32双核下,ISR与任务共享队列时,xQueueSendFromISR的临界区处理常被误用,导致丢数据或优先级反转。本文从FreeRTOS队列环形缓冲与自旋锁原理出发,给出双核无锁队列的完整实现,剖析ISR临界区陷阱,并用实测数据对比原生队列与自旋锁队列的吞吐差异,附可复现代码与调优建议。
FreeRTOS周期性任务:vTaskDelay与vTaskDelayUntil漂移实测对比与选型指南
嵌入式 · 👁 6 阅读
在FreeRTOS中实现周期性任务时,vTaskDelay与vTaskDelayUntil的选择直接影响任务周期的长期稳定性。本文从调度原理出发,分析相对延时与绝对延时产生漂移的根本原因,给出基于STM32的实测方法与完整代码,通过示波器与时间戳对比两种API在1kHz~10Hz任务下的累积误差,并总结选型原则与常见陷阱,帮助嵌入式开发者在实际项目中做出正确决策。
ESP32双核任务亲和性实战:WiFi协议栈钉Core0、应用逻辑放Core1的配置与踩坑指南
嵌入式 · 👁 6 阅读
ESP32双核FreeRTOS下,WiFi协议栈默认与用户任务争抢CPU,导致实时性抖动。本文讲解任务亲和性原理,给出将WiFi任务固定到Core0、应用逻辑放Core1的完整配置步骤与代码示例,并总结优先级反转、看门狗、跨核队列等常见坑点,帮助开发者构建稳定的双核任务架构。
STM32串口不定长收包:DMA+空闲中断下半包与粘包的边界处理实战
嵌入式 · 👁 6 阅读
本文深入剖析STM32串口DMA+空闲中断接收不定长数据时,半包与粘包问题的根源,从IDLE标志时序、DMA计数器快照、缓冲区设计三个维度给出边界处理方案。包含完整可移植代码,并针对高波特率、中断延迟等场景提供优化建议,帮助开发者构建稳定可靠的串口帧接收机制。
用DWT周期计数器给Cortex-M打补丁:实现微秒级无中断延时与代码段耗时测量
嵌入式 · 👁 6 阅读
本文介绍如何利用Cortex-M内核的DWT周期计数器实现高精度、无中断的微秒级延时与代码段耗时测量。相比传统SysTick或定时器方案,DWT不占用中断资源,精度可达CPU周期级。文章涵盖DWT原理、寄存器配置、完整代码实现及注意事项,帮助开发者在STM32等Cortex-M平台上快速集成这一实用技巧。
FreeRTOS中vTaskDelay与软件定时器混用时优先级反转的排查实录
嵌入式 · 👁 5 阅读
本文记录了一次在STM32平台上使用FreeRTOS时,因vTaskDelay与软件定时器混用导致优先级反转的排查过程。通过分析任务调度、定时器服务任务与中断优先级的关系,揭示了隐藏的优先级反转机制,并给出了配置修正与代码优化方案。文章包含原理讲解、配置步骤、完整代码示例及注意事项,适合有一定FreeRTOS基础的嵌入式开发者参考。
STM32定时器输入捕获测PWM占空比时,高电平宽度漂移的根因与排查:预分频与捕获边沿配置详解
嵌入式 · 👁 34 阅读
许多开发者在用STM32定时器输入捕获测量PWM占空比时,发现高电平宽度随信号频率变化而漂移,导致占空比计算错误。本文从输入捕获原理出发,深入分析预分频器与捕获边沿配置对测量结果的影响,揭示漂移的根源,并提供完整的配置步骤、代码示例与排查清单,帮助开发者彻底解决这一常见问题。
STM32 HAL库中__weak函数被覆盖后中断服务程序不执行的排查路径
嵌入式 · 👁 26 阅读
在STM32开发中,使用HAL库时经常遇到中断服务程序不执行的问题,尤其是当用户覆盖了__weak函数后。本文深入分析__weak机制、中断向量表与回调函数的关系,提供从现象到根因的完整排查路径,涵盖启动文件分析、链接脚本检查、调试技巧,并给出可复现的代码示例与避坑指南,帮助开发者快速定位并解决此类疑难问题。
STM32 HAL库中HAL_Delay在中断上下文失效的根因与替代延时方案
嵌入式 · 👁 31 阅读
本文深入剖析STM32 HAL库中HAL_Delay在中断上下文中失效的根本原因,指出其依赖SysTick中断与轮询计数标志的机制在中断嵌套时导致死锁或延时不准。文章提供三种替代延时方案:基于DWT周期计数器的忙等待、硬件定时器单次触发延时以及中断安全的非阻塞状态机延时,并给出完整代码示例与配置步骤,最后总结关键注意事项,帮助开发者在中断服务程序中实现精准可靠的延时。
FreeRTOS中vTaskDelay与vTaskDelayUntil混用导致周期任务漂移的排查实录
嵌入式 · 👁 29 阅读
本文记录了一次嵌入式项目中FreeRTOS周期任务出现时间漂移的排查过程。通过逻辑分析仪抓取波形,发现任务周期逐渐偏移,最终定位为vTaskDelay与vTaskDelayUntil混用所致。文章详细剖析两者原理差异,给出正确配置步骤与完整代码示例,并总结避免周期漂移的注意事项,适合有一定FreeRTOS基础的开发者参考。
‹
1
2
...
182
›