蘑
菇
助手
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)
STM32H7 400MHz 下 FDCAN 与 TSN 时间同步的硬件时序补偿实测:从纳秒抖动到微秒级同步
嵌入式 · 👁 45 阅读
在工业以太网与车载网络中,TSN(时间敏感网络)与 FDCAN 的混合部署日益普遍,而时间同步精度往往受限于 MCU 内部时钟路径的延迟。本文基于 STM32H7 在 400MHz 主频下,实测 FDCAN 外设与 TSN 交换机(如基于 802.1AS)同步时的硬件时序补偿方法,重点分析 FDCAN 收发器延迟、消息 RAM 访问冲突及 PLL 抖动对同步误差的影响,并给出可复现的补偿算法与代码实现,帮助开发者将同步精度从微秒级提升至亚微秒级。
基于 Cortex-M7 的 MPU 配置不当导致 DMA 传输数据被缓存污染的实战分析
嵌入式 · 👁 26 阅读
在基于 Cortex-M7 的高性能嵌入式系统中,MPU(内存保护单元)与 Cache 的协同配置是确保 DMA 数据传输正确性的关键。本文通过一个实际案例,深入剖析 MPU 配置不当导致 DMA 数据被缓存污染的根因,并给出完整的解决方案,帮助开发者规避类似陷阱。
STM32F4 系列 D-Cache 与 SDRAM 数据一致性:三种典型规避方案深度解析
嵌入式 · 👁 29 阅读
在 STM32F4 系列高性能 MCU 中,D-Cache 虽能显著提升 CPU 访问 SDRAM 的速度,却常因缓存与内存数据不一致导致系统故障。本文面向有经验的嵌入式开发者,深入剖析 D-Cache 与 SDRAM 数据一致性问题的根源,并给出三种典型规避方案:Cache 清理/失效、MPU 配置非缓存区域、以及 DMA 与 Cache 协同管理。通过原理讲解、配置步骤和完整代码示例,助你彻底解决这一嵌入式开发中的“隐形杀手”。
STM32 DMA+空闲中断接收不定长数据:总线竞争丢包的根因与四层防护策略
嵌入式 · 👁 39 阅读
在STM32嵌入式开发中,DMA与空闲中断(IDLE)组合是接收不定长串口数据的经典方案,但总线竞争(如DMA与CPU同时访问SRAM、外设总线仲裁延迟)常导致数据覆盖或丢包。本文深入剖析丢包根因,从外设配置、内存模型、中断优先级到DMA缓冲管理,给出四层防护策略,并附完整可移植代码,助你打造零丢包的高可靠UART接收链路。
ESP32 低功耗模式下 RTC 内存保持外设状态的边界条件与陷阱
嵌入式 · 👁 29 阅读
ESP32 在深度睡眠(Deep Sleep)模式下,RTC 内存(RTC Fast Memory 和 RTC Slow Memory)是唯一能保持数据的外设,但许多开发者误以为它可无限保存任意外设状态。本文深入剖析 RTC 内存的物理边界、电源域隔离、复位行为,以及 GPIO、定时器、UART 等外设在低功耗下的状态保持陷阱,并给出基于 RTC 内存的可靠状态恢复策略和完整代码示例,助你避开常见坑点。
Arduino 上 AVR CTC 模式实现微秒级软件定时器:边界条件与工程实践
嵌入式 · 👁 29 阅读
在 Arduino 平台使用 AVR 的 CTC 模式(Clear Timer on Compare)可以构建非阻塞的微秒级定时器,但开发者常因忽略边界条件而遭遇中断风暴、计数溢出或时序漂移。本文深入剖析 CTC 模式的硬件原理,对比 Timer0/1/2 的差异,给出配置步骤与完整代码示例,并重点讨论比较值上限、中断延迟、占空比限制及与 Arduino 核心库的冲突规避,帮助你在资源受限的 MCU 上实现稳健的微秒级调度。
STM32 低功耗模式下 RTC 唤醒源失效的排查与修复:从硬件到固件的深度解析
嵌入式 · 👁 29 阅读
在嵌入式开发中,STM32 的低功耗模式(如 Stop 模式)常搭配 RTC 作为唤醒源,但开发者常遇到唤醒失效的棘手问题。本文从 RTC 时钟源配置、电源域隔离、中断标志处理等角度,系统剖析失效根因,并给出可复现的排查步骤与修复代码,助你彻底解决低功耗唤醒难题。
STM32F4 D-Cache 与 DMA 数据一致性丢失:三种修复方案深度对比
嵌入式 · 👁 21 阅读
在 STM32F4 系列高性能 MCU 上,D-Cache 能显著提升 CPU 访问速度,但当 DMA 与外设交互时,缓存与内存间的数据不一致常导致数据损坏或丢失。本文深入剖析 D-Cache 与 DMA 的冲突根源,并对比三种主流修复方案:Cache 清理/无效化、MPU 配置非缓存区域、以及 DMA 与 CPU 协同的缓冲策略。通过原理讲解、配置步骤和完整代码示例,助你选择最适合的工程方案,确保数据一致性。
STM32H7 400MHz 下 FDCAN 与普通 CAN 的时序抖动对比实测:从原理到代码
嵌入式 · 👁 18 阅读
在高速嵌入式系统中,CAN 总线的时序抖动直接影响实时控制精度。本文基于 STM32H743 在 400MHz 主频下,对 FDCAN(CAN FD)与传统 CAN 2.0 模式进行实测对比,分析位时序、同步段和重同步机制对抖动的影响。通过示波器测量实际波形,给出量化数据,并附完整 CubeMX 配置和 HAL 代码示例,帮助开发者理解两种模式在时序鲁棒性上的差异,优化总线设计。
STM32F4 无外部晶振可靠启动:LSE 停振后 RTC 备份寄存器的妙用
嵌入式 · 👁 19 阅读
在嵌入式开发中,STM32F4 系列常依赖外部低速晶振(LSE)驱动 RTC,但 LSE 可能因硬件或环境因素停振,导致系统启动异常。本文深入探讨如何利用 RTC 备份寄存器(BKP)在 LSE 停振后实现无外部晶振的可靠启动,涵盖原理、配置步骤、完整代码示例及注意事项,帮助开发者提升系统鲁棒性。
ESP32 双核环境下 FreeRTOS 任务与 Arduino loopTask 的优先级抢占实测与避坑指南
嵌入式 · 👁 20 阅读
在 ESP32 双核架构下,Arduino 框架的 loopTask 运行在 Core 1 上,而 FreeRTOS 任务默认可能被调度到任意核心。这种看似简单的共存,实则暗藏优先级抢占、核间竞争和任务饿死等陷阱。本文通过实测数据,剖析 loopTask 与自定义 FreeRTOS 任务的优先级抢占行为,并给出配置建议与避坑指南,帮助开发者避免常见的并发错误。
UART DMA 环形缓冲区:帧尾超时与半满中断竞争的精解与实战
嵌入式 · 👁 19 阅读
在嵌入式开发中,使用 DMA 环形缓冲区接收 UART 不定长数据是提升效率的利器,但帧尾超时与半满中断的竞争常导致数据错乱或丢失。本文深入剖析两者冲突的根源,提供基于硬件定时器与状态机的精确解决方案,并给出 STM32 平台完整代码示例,助你打造稳定可靠的通信层。
‹
1
...
104
105
106
...
155
›