蘑
菇
助手
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
项目 实战
嵌入式 控制
嵌入式 蓝牙
嵌入式 传感器
嵌入式
STM32F4 在 168MHz 下 Flash 预取与 ART 加速器失效场景的实测对比:性能陷阱与规避策略
嵌入式 · 👁 4 阅读
STM32F4 系列在 168MHz 主频下依赖 Flash 预取和 ART 加速器来隐藏 Flash 访问延迟,但实际应用中,代码布局、DMA 并发访问或 Cache 配置不当会导致加速器失效,性能骤降。本文通过实测对比,揭示失效场景下的性能差异,并给出配置建议与代码示例,帮助开发者规避隐性性能陷阱。
基于 Cortex-M7 的 D-Cache 一致性维护:从 MPU 配置到 DMA 双缓冲实战
嵌入式 · 👁 2 阅读
Cortex-M7 内核引入的 D-Cache 大幅提升了数据访问性能,但也带来了缓存一致性问题,尤其在 DMA 与 CPU 共享数据时。本文从 MPU 配置入手,深入讲解 D-Cache 的工作原理,并给出一个基于 DMA 双缓冲的完整实战示例,帮助开发者彻底掌握 Cache 维护技巧,避免数据错乱。
STM32H7 在 400MHz 下 FDCAN 总线仲裁位时序余量不足的实测分析与补偿策略
嵌入式 · 👁 2 阅读
STM32H7 在 400MHz 主频下运行 FDCAN 外设时,由于内核时钟与 APB 外设时钟的分频关系,仲裁位时序余量可能不足,导致总线通信错误。本文基于实测波形,分析根因,并给出软件补偿策略,包括调整位时序参数、优化时钟树配置及使用硬件同步功能,帮助开发者稳定运行 FDCAN。
ESP32 低功耗模式下的 RTC 唤醒源与 GPIO 保持状态冲突排查实战
嵌入式 · 👁 3 阅读
在 ESP32 低功耗设计中,RTC 唤醒源与 GPIO 保持状态的冲突是常见且隐蔽的问题,常导致设备无法正常唤醒或外设状态异常。本文深入分析该冲突的根因,提供系统化的排查流程,并给出完整的配置示例与规避策略,帮助开发者快速定位并解决此类问题,提升低功耗应用的稳定性。
ESP32-C3 低功耗模式深度调优:RTC 内存保持与 ULP 协处理器唤醒时序实战
嵌入式 · 👁 4 阅读
在电池供电的物联网设备中,ESP32-C3 的低功耗设计至关重要。本文深入探讨 ESP32-C3 在深度睡眠(Deep Sleep)模式下,如何利用 RTC 内存保持关键数据,并借助 ULP 协处理器实现极低功耗的异步唤醒。文章将剖析 RTC 内存的映射机制、ULP 唤醒的时序约束,并通过完整代码示例展示如何调优唤醒时序,避免常见陷阱,帮助开发者榨干芯片的每一微安电流。
基于 STM32 的 DMA 半传输中断在环形缓冲区中的高效应用与踩坑记录
嵌入式 · 👁 2 阅读
在嵌入式开发中,DMA 半传输中断(Half Transfer Interrupt)是构建高效环形缓冲区的利器,尤其适用于 ADC 采样、UART 接收等连续数据流场景。本文深入剖析其工作原理,结合 STM32 HAL 库给出完整配置与代码示例,并分享实际项目中遇到的典型陷阱(如中断标志误清除、数据竞争、缓冲区边界处理等),帮助开发者少走弯路,实现零拷贝、低延迟的数据搬运。
Arduino 非阻塞式多路软件串口接收:环形缓冲区设计与实现
嵌入式 · 👁 0 阅读
在资源受限的嵌入式系统中,硬件串口数量往往不足,软件模拟串口成为扩展通信能力的常用方案。然而,传统阻塞式接收会严重拖累主循环,尤其在多路并发场景下极易丢失数据。本文深入剖析基于环形缓冲区的非阻塞式多路软件串口接收设计,从原理到代码实现,助你打造高效、稳定的多串口通信系统。
ESP32 多核环境下用原子操作替代关中断保护 FreeRTOS 队列的边界场景分析
嵌入式 · 👁 2 阅读
在 ESP32 双核 FreeRTOS 系统中,传统关中断(taskENTER_CRITICAL)保护共享资源会阻塞另一个核,导致实时性下降。本文深入分析多核环境下的原子操作(如 portMUX_TYPE、atomic)替代关中断的边界场景,包括队列读写、中断与任务并发等,给出配置步骤、完整代码示例及注意事项,帮助开发者平衡性能与安全。
STM32F4无中断高精度PWM采样:DMA双缓冲与定时器触发的协同设计
嵌入式 · 👁 1 阅读
在电机控制、电源转换等高实时性应用中,PWM信号的精确采样至关重要。传统中断采样受CPU负载和中断延迟影响,难以保证一致性。本文深入解析STM32F4如何利用定时器触发ADC、DMA双缓冲搬运数据,实现全程无CPU干预的高精度PWM采样。通过原理剖析、寄存器级配置及完整代码示例,助你构建低延迟、零抖动的采样系统,显著提升控制环路性能。
Arduino DMA ADC 连续采样 HardFault 排查:缓冲区对齐的隐形陷阱
嵌入式 · 👁 1 阅读
在 Arduino 上使用 DMA 进行 ADC 连续采样时,缓冲区对齐问题常被忽视,却可能引发 HardFault。本文深入分析 Cortex-M 内核 DMA 传输的对齐要求,结合 STM32 实际案例,展示如何通过内存属性定义和链接脚本调整,彻底解决因缓冲区未对齐导致的硬件错误,并提供可复用的排查思路与代码模板。
STM32H7 600MHz 下 FDCAN 多节点总线仲裁延迟实测与优化全解析
嵌入式 · 👁 1 阅读
在高速嵌入式系统中,FDCAN 总线仲裁延迟直接影响实时性。本文基于 STM32H7 系列(Cortex-M7 @ 600MHz),通过实测多节点(3~5 个)总线仲裁延迟,分析硬件协议层与软件配置对延迟的影响,并给出优化策略。文章涵盖 FDCAN 仲裁机制、延迟测量方法、关键寄存器配置(如仲裁段位时序、协议操作模式)及代码示例,帮助开发者将最坏情况延迟降低 30% 以上。
STM32 低功耗模式下的 DMA 外设唤醒源配置陷阱与实测
嵌入式 · 👁 1 阅读
在 STM32 低功耗设计中,DMA 常被用作外设数据搬运的利器,但将其作为唤醒源时,却暗藏诸多配置陷阱。本文深入剖析 STM32 在 Stop 模式下的 DMA 唤醒机制,结合实测数据揭示常见误区,并给出经过验证的配置步骤与完整代码示例,帮助开发者避开雷区,实现稳定可靠的低功耗唤醒方案。
‹
1
2
...
31
32
33
34
35
36
37
...
127
128
›