📖 技术文库

STM32 / Arduino / RTOS / 嵌入式 知识文章
展开全部分类 (54)
STM32低功耗模式中RTC闹钟唤醒后外设时钟恢复顺序的常见坑与解决方案
嵌入式 · 👁 25 阅读
在STM32低功耗设计中,RTC闹钟唤醒是常用手段,但唤醒后外设时钟恢复顺序常被忽视,导致外设初始化失败或数据错乱。本文深入剖析STOP模式下的时钟树行为,揭示外设时钟恢复的隐性依赖,并提供一套稳健的恢复策略与代码示例,帮助开发者避开这些隐蔽陷阱,提升系统可靠性。
STM32定时器输入捕获测量PWM占空比的误差来源与补偿方法
嵌入式 · 👁 24 阅读
在嵌入式开发中,利用STM32定时器输入捕获功能测量PWM信号的频率和占空比是常见需求,但实际测量结果常因硬件限制、软件时序和信号质量等因素产生误差。本文深入剖析这些误差的根源,包括捕获分辨率、中断延迟、边沿抖动和计数器溢出等,并给出实用的补偿策略,如多周期平均、边沿滤波、DMA批量捕获和软件校准。通过原理讲解、配置步骤和完整代码示例,帮助开发者提升测量精度,适用于电机控制、电源监测等嵌入式应用场景。
STM32L4低功耗模式切换:GPIO浮空漏电的根源与彻底解决方案
嵌入式 · 👁 21 阅读
在STM32L4系列低功耗应用中,GPIO配置不当是导致静态电流超标的首要原因。本文深入剖析GPIO浮空引发漏电的物理机制,结合STM32L4的电源域架构,给出从原理到实践的完整规避策略,涵盖模式切换前的GPIO状态规划、标准外设配置技巧及代码级防护措施,助你打造微安级待机功耗的可靠系统。
STM32 双Bank切换实现OTA零停机:基于F4/F7的Bank交错映射实战
嵌入式 · 👁 22 阅读
在嵌入式设备中,OTA升级常因Flash擦写导致系统停机。本文深入探讨STM32 F4/F7系列的双Bank架构,通过Bank交错映射实现应用无缝切换,达成零停机升级。你将掌握双Bank原理、配置步骤、完整代码示例及关键注意事项,为高可用固件更新提供实战方案。
Arduino 上利用 ADC 采样抖动与过采样技术实现 16 位有效分辨率的边界条件
嵌入式 · 👁 20 阅读
在嵌入式开发中,Arduino 的 10 位 ADC 常被视为精度瓶颈,但通过过采样与抖动技术,理论上可将有效分辨率提升至 16 位。然而,实际实现受限于噪声源、采样速率和硬件特性。本文深入剖析过采样原理、边界条件,并提供基于 AVR 的完整代码示例,帮助开发者理解何时可行、何时徒劳,避免常见陷阱。
ESP32-S3 IDF 5.x 下 USB-Serial-JTAG 复用:日志、烧录与 Wi-Fi 共存的无痛配置指南
嵌入式 · 👁 22 阅读
在 ESP32-S3 开发中,USB-Serial-JTAG 接口常被用作日志输出和程序烧录,但很多开发者发现启用该接口后 Wi-Fi 性能下降或日志乱码。本文深入剖析 IDF 5.x 下 USB-Serial-JTAG 与 Wi-Fi 共存的工作原理,揭示其共享 GPIO 和中断优先级的冲突根源,并给出完整的配置步骤、代码示例及注意事项,帮助你在不牺牲无线性能的前提下实现高效调试。
STM32F4 PLL 配置中 VCO 输入范围对系统时钟稳定性的影响分析
嵌入式 · 👁 20 阅读
在 STM32F4 系列微控制器的时钟树设计中,PLL(锁相环)的 VCO 输入范围是决定系统时钟稳定性的关键参数之一。本文深入分析 VCO 输入范围(1-2 MHz)对 PLL 锁定时间、抖动和系统稳定性的影响,并结合实际配置步骤和代码示例,帮助开发者规避常见配置陷阱,确保系统在高速运行下可靠工作。
ESP32 BLE 广播间隔与连接参数协商:吞吐量量化分析与调优实战
嵌入式 · 👁 22 阅读
在ESP32低功耗蓝牙开发中,广播间隔与连接参数直接影响功耗和吞吐量,但两者常被忽视或误配。本文通过量化实验,揭示广播间隔对可发现性、连接参数(间隔、延迟、超时)对吞吐量的具体影响,并给出基于实际场景的调优策略与代码示例,帮助开发者平衡功耗与性能。
STM32F4 在 168MHz 主频下驱动 SDRAM:时序收敛与 PCB 布线实战要点
嵌入式 · 👁 21 阅读
STM32F4 系列凭借 168MHz 主频和灵活的 FMC 控制器,常被用于需要大容量内存缓冲的嵌入式系统,如 GUI、音频或图像处理。然而,在如此高主频下驱动外部 SDRAM,时序收敛与 PCB 布线成为系统稳定性的关键。本文从 SDRAM 时序模型、FMC 配置策略、PCB 布线规则及代码实现四个维度,深度剖析 STM32F4 与 SDRAM 高速接口的设计要点,帮助开发者规避常见陷阱,实现可靠的高速存储扩展。
Arduino DMA ADC 环形缓冲区溢出检测:从原理到实战的嵌入式技巧
嵌入式 · 👁 23 阅读
在Arduino平台上,利用DMA进行ADC连续采样能大幅提升数据采集效率,但环形缓冲区的溢出检测常被忽视,导致数据丢失或系统崩溃。本文深入剖析DMA与环形缓冲区的工作原理,揭示溢出发生的底层机制,并给出基于硬件标志和软件计数的双重检测方案。通过完整代码示例,演示如何在STM32(如Arduino Due)上实现无中断的连续采样与安全溢出预警,助你构建高可靠性的嵌入式数据采集系统。
ESP32-C3 低功耗模式下 RTC 内存保持与 UART 唤醒源冲突的深度排查与解决
嵌入式 · 👁 21 阅读
在 ESP32-C3 低功耗应用中,RTC 内存用于在深度睡眠时保存关键数据,而 UART 唤醒源则用于外部设备触发唤醒。然而,两者常因电源域隔离、GPIO 复用或唤醒配置不当而冲突,导致数据丢失或无法唤醒。本文从硬件架构和软件配置层面剖析冲突根因,提供系统化排查步骤和完整代码示例,帮助开发者快速定位并修复问题。
STM32H7 400MHz 下 FDCAN 与 TSN 以太网协同的实时性边界实测
嵌入式 · 👁 22 阅读
本文基于 STM32H743 在 400MHz 主频下,实测 FDCAN 与 TSN 以太网协同工作时的实时性边界。通过分析中断优先级、DMA 带宽竞争和 TSN 时间同步对 FDCAN 报文延迟的影响,给出可复现的测试方法和优化策略,帮助开发者避免多协议并发时的性能陷阱。