蘑
菇
助手
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库DMA串口接收:IDLE中断与半满中断协同配置及丢包排查实战
嵌入式 · 👁 58 阅读
本文深入解析STM32 HAL库下DMA串口接收中IDLE中断与半满中断的协同工作机制,提供从CubeMX配置到代码实现的完整步骤,并针对常见丢包问题给出系统化排查方案。通过原理讲解与实战代码,帮助开发者构建稳定高效的串口数据接收框架,解决不定长数据接收中的关键痛点。
STM32定时器输入捕获测PWM频率:高频段误差突增的根源与预分频/分辨率计算
嵌入式 · 👁 53 阅读
许多开发者在使用STM32定时器输入捕获测量PWM频率时,发现低频段精度尚可,但高频段误差突然增大。本文从输入捕获的基本原理出发,深入分析预分频器与捕获分辨率的关系,推导误差公式,并给出完整的配置步骤与代码示例,帮助您彻底理解并解决高频测量误差问题。
STM32 HAL库下ADC多通道DMA扫描采样时通道数据错位的排查与修复
嵌入式 · 👁 51 阅读
本文针对STM32 HAL库开发中ADC多通道DMA扫描采样常见的通道数据错位问题,从ADC扫描与DMA传输机制出发,分析错位根源(如DMA缓冲区对齐、规则组顺序、采样时间不足等),给出系统化的排查步骤与修复方案,并提供完整可运行的代码示例与关键注意事项,帮助开发者快速定位并解决此类问题。
STM32 HAL库中HAL_Delay的SysTick优先级陷阱:为何中断里调用会死锁及三种修复方案对比
嵌入式 · 👁 54 阅读
本文深入剖析STM32 HAL库中HAL_Delay依赖SysTick中断的工作原理,揭示在中断服务函数中调用HAL_Delay导致死锁的根本原因——SysTick优先级低于当前中断,使uwTick无法更新。文章给出三种修复方案:提升SysTick优先级、使用硬件定时器延时、改用轮询计数器,并从实时性、代码侵入性、可靠性等维度对比,附完整代码示例与注意事项,帮助开发者规避这一常见陷阱。
用DWT周期计数器测量中断响应延迟:从GPIO翻转看NVIC抢占的实际开销
嵌入式 · 👁 51 阅读
中断响应延迟是嵌入式实时系统的关键指标,但手册往往只给出理论值。本文介绍如何利用Cortex-M内核的DWT周期计数器,配合GPIO翻转,精确测量从外部中断触发到ISR第一条指令执行的实际周期数,并分析NVIC抢占、流水线、Flash等待周期等因素对延迟的影响,给出可复用的测量代码与优化建议。
STM32定时器输入捕获测频率:预分频与捕获极性的实战取舍
嵌入式 · 👁 53 阅读
输入捕获是STM32测量信号频率的常用手段,但预分频系数与捕获极性的配置直接影响测量范围、精度与响应速度。本文从原理出发,分析PSC与CCER极性位对捕获结果的影响,给出不同频率段的配置策略,并提供完整代码示例与避坑指南,帮助你在实际项目中做出合理取舍。
STM32 HAL库中DMA与中断同时操作同一外设时的优先级冲突排查与配置
嵌入式 · 👁 53 阅读
本文针对STM32开发中DMA与中断同时操作同一外设(如UART、ADC)时出现的优先级冲突问题,从NVIC优先级分组、DMA中断与USART中断的抢占关系入手,分析冲突根源,给出HAL库下的配置步骤与完整代码示例,并总结排查要点与注意事项,帮助开发者避免数据丢失或死锁。
STM32 HAL库中__weak函数重定义失效的链接顺序陷阱与验证方法
嵌入式 · 👁 65 阅读
在STM32 HAL库开发中,常通过重定义__weak回调函数实现自定义逻辑,但部分开发者发现自己的函数未被调用,程序仍执行HAL默认实现。这通常不是代码错误,而是链接顺序与符号解析规则导致。本文剖析__weak机制、GCC链接器符号选择策略,给出可复现的陷阱场景、验证方法与工程级解决方案,帮助开发者彻底规避此类问题。
STM32 HAL库中__weak函数被用户重定义后链接脚本仍选中默认实现的排查路径
嵌入式 · 👁 66 阅读
在STM32 HAL开发中,用户常通过重定义__weak回调函数来定制外设行为,但有时明明写了同名函数,链接后仍执行默认实现。本文从__weak机制、链接器符号解析、编译单元可见性、链接脚本与库顺序等角度,系统梳理排查路径,并给出可复现的验证方法与完整代码示例,帮助开发者快速定位“重定义不生效”的根因。
STM32 HAL库中__weak函数被用户重定义后链接顺序导致外设初始化被覆盖的排查方法
嵌入式 · 👁 61 阅读
本文深入剖析STM32 HAL库中__weak函数被用户重定义后,因链接顺序导致外设初始化被覆盖的隐蔽问题。通过原理讲解、配置步骤、完整代码示例和注意事项,帮助开发者快速定位并解决此类链接冲突,确保外设初始化按预期执行。
FreeRTOS周期任务定时漂移:vTaskDelay与vTaskDelayUntil深度对比与选型指南
嵌入式 · 👁 64 阅读
在嵌入式周期性采样任务中,vTaskDelay与vTaskDelayUntil的定时精度差异常被忽视。本文从FreeRTOS内核调度原理出发,剖析相对延时与绝对延时的漂移成因,通过实测数据对比两者在1kHz采样下的累积误差,给出完整代码示例与选型建议,帮助开发者在电机控制、传感器采集等场景中避免定时漂移陷阱。
STM32 DMA+空闲中断接收不定长串口数据:半包与粘包的边界处理技巧
嵌入式 · 👁 62 阅读
串口不定长数据接收是嵌入式开发中的常见需求,DMA+空闲中断方案能高效处理,但半包与粘包问题常导致解析错误。本文深入剖析空闲中断触发机制与DMA传输特性,提出基于环形缓冲区与时间戳的边界判定策略,给出完整的STM32 HAL库代码实现,并总结关键注意事项,帮助开发者彻底解决分包难题。
‹
1
...
4
5
6
...
182
›