蘑
菇
助手
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 的 I2C 死锁恢复:从硬件 SCL 拉低到软件状态机重构的完整排查流程
嵌入式 · 👁 21 阅读
I2C 总线死锁是嵌入式开发中的经典难题,尤其在多主或热插拔场景下,SCL 被拉低会导致整个总线瘫痪。本文以 STM32 为例,深入剖析死锁的硬件根因(如从机异常、时钟同步失效),并给出从示波器实测到软件状态机重构的完整排查流程。你将学会如何用 GPIO 模拟时序解锁总线、配置超时看门狗,以及设计可自恢复的 I2C 状态机,彻底告别“卡死重启”的窘境。
STM32F4 系列 D-Cache 一致性维护:从原理到 DMA 传输实战
嵌入式 · 👁 21 阅读
在 STM32F4 系列(如 F429、F407)中,当启用 D-Cache 后,CPU 与 DMA 之间的数据一致性成为高性能嵌入式系统的关键挑战。本文深入剖析 D-Cache 的工作原理,解释 Cache 与 DMA 冲突的根源,并给出基于 CMSIS 的完整维护方案。通过一个 ADC 采样 + DMA 传输的实战案例,演示如何正确使用 SCB_CleanDCache 和 SCB_InvalidateDCache,确保数据实时性与正确性。适合有 DMA 基础、希望进阶的嵌入式开发者。
ESP32 低功耗模式下 RTC 内存保持外设状态的设计技巧与坑点排查
嵌入式 · 👁 27 阅读
在电池供电的物联网设备中,ESP32 的深睡模式(Deep Sleep)是降低功耗的关键,但如何在外设状态(如 GPIO 电平、传感器校准值、通信协议状态)在唤醒后快速恢复,却常让开发者头疼。本文深入剖析 RTC 内存(RTC Memory)的工作原理,结合实战案例,讲解如何利用 RTC 内存保存外设状态,并分享常见坑点(如内存布局、电源域隔离、唤醒源冲突)的排查方法,助你写出稳定、低功耗的嵌入式代码。
STM32F4 低功耗 STOP2 模式下 DMA 数据保留的外设配置陷阱与实测
嵌入式 · 👁 25 阅读
在 STM32F4 系列的低功耗 STOP2 模式下,DMA 控制器会停止工作,但 SRAM 数据得以保留。然而,许多开发者发现 DMA 配置在唤醒后丢失,导致外设无法继续传输。本文深入剖析 STOP2 模式下 DMA 与外设的交互机制,揭示配置陷阱(如时钟门控、DMA 流优先级、外设复位状态),并提供实测验证的解决方案,帮助您避免数据丢失和系统异常。
STM32H7实战:AXI SRAM与TCM间DMA传输的缓存一致性处理
嵌入式 · 👁 22 阅读
STM32H7系列凭借双核架构和高速总线,在嵌入式领域广受欢迎,但其复杂的存储系统(AXI SRAM、TCM、L1-Cache)常让开发者陷入缓存一致性的泥潭。本文从硬件架构出发,剖析DMA传输时缓存不一致的根源,并给出三种实战解决方案:Cache清理/失效、MPU配置、以及免缓存DMA缓冲区设计。通过完整代码示例,助你彻底告别数据错乱,提升系统稳定性。
STM32 Bootloader 跳转后外设时钟残留导致死机的排查流程与解决方案
嵌入式 · 👁 22 阅读
在嵌入式开发中,Bootloader 跳转到 App 后偶发死机是常见难题,其中外设时钟残留(如未关闭的定时器、DMA 或中断)是隐蔽的元凶。本文以 STM32 为例,深入剖析时钟残留的触发机制,提供一套系统化的排查流程(从代码审查、寄存器检查到硬件验证),并给出实用的解决方案(如外设复位、中断屏蔽和时钟门控),帮助开发者快速定位并根治此类问题。
STM32F4 无晶振时间保持:LSE 停振后基于 RTC 备份域寄存器的可靠方案
嵌入式 · 👁 9 阅读
在嵌入式系统中,RTC 常依赖外部 32.768kHz 晶振(LSE)维持时间,但晶振易受环境或布局影响而停振,导致时间丢失。本文深入剖析 STM32F4 的 RTC 备份域机制,提出一种在 LSE 失效后自动切换至 LSI 并利用备份寄存器保存关键时间戳的软件补偿方案,实现无外部晶振情况下的可靠时间保持。文章涵盖原理分析、配置步骤、完整代码及工程注意事项,适合有 STM32 开发经验的工程师参考。
STM32H7 400MHz 下 L1 Cache 未命中率对实时中断响应延迟的量化影响与配置策略
嵌入式 · 👁 24 阅读
STM32H7 系列以 400MHz 主频和双精度 FPU 著称,但 L1 Cache 的未命中率会显著影响实时中断响应延迟。本文通过量化实验揭示 Cache 未命中与中断延迟的关联,深入解析 Cortex-M7 的 Cache 架构及 MPU 配置策略,并提供可复用的代码示例与优化建议,帮助开发者在高实时性场景下精准权衡性能与确定性。
STM32H7 600MHz 下 FDCAN 路由延迟实测与优化策略:从微秒到纳秒的调优指南
嵌入式 · 👁 18 阅读
在 STM32H7 系列以 600MHz 主频运行时,FDCAN 外设的通信延迟往往成为实时系统的瓶颈。本文基于实测数据,深入分析 FDCAN 路由延迟的构成(协议层、中断响应、DMA 搬运),并给出针对性的优化策略,包括中断优先级配置、FIFO 深度调整、DMA 双缓冲及缓存一致性处理。通过代码示例和性能对比,帮助开发者将端到端延迟从微秒级压缩至纳秒级,适用于工业控制和车载网络等苛刻场景。
Arduino OTA 失败自动回滚:基于 Bootloader 分区策略的嵌入式实现
嵌入式 · 👁 19 阅读
在嵌入式开发中,OTA(Over-The-Air)更新是提升产品维护效率的关键,但更新失败可能导致设备变砖。本文深入探讨如何在 Arduino 平台上通过改写 Bootloader 实现 OTA 失败后的自动回滚,确保系统始终可运行。文章涵盖双分区策略、Bootloader 设计、配置步骤及完整代码示例,帮助开发者构建高可靠性的固件更新机制。
STM32F4 LSE 停振无感恢复:RTC 备份域寄存器实现时钟源无缝切换的实战指南
嵌入式 · 👁 18 阅读
在嵌入式系统中,LSE(低速外部晶振)停振是导致 RTC 时间丢失或系统异常的常见故障。本文深入剖析 STM32F4 系列在 LSE 失效后的检测机制,并基于 RTC 备份域寄存器(BKP)设计一套无感恢复方案:通过硬件自动切换至 LSI 并利用备份寄存器保存关键状态,实现时钟源无缝切换与数据零丢失。文章包含原理分析、寄存器配置步骤、完整代码示例及工程注意事项,助力开发者构建高可靠性的时间敏感型应用。
ESP32-S3 PSRAM 数据一致性实战:三种 Cache 维护策略与性能深度对比
嵌入式 · 👁 16 阅读
在 ESP32-S3 上使用外部 PSRAM 扩展内存时,Cache 一致性问题常导致数据错乱或性能骤降。本文深入剖析 Cache 与 PSRAM 的交互机制,并给出三种实用维护策略:软件刷新、硬件写回(通过 DPORT 寄存器)以及 DMA 双缓冲。通过实测性能数据对比,帮助开发者根据场景选择最优方案,兼顾数据可靠性与系统吞吐量。
‹
1
2
3
4
...
136
›