蘑
菇
助手
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)
STM32F4 Flash等待状态深度解析:主频、供电电压与性能的三角博弈
嵌入式 · 👁 67 阅读
STM32F4系列主频可达168MHz甚至180MHz,但高主频背后隐藏着Flash读取速度的瓶颈。等待状态(WS)是平衡CPU与Flash速度的关键参数,它与供电电压VDD、主频HCLK存在严格的匹配关系。配置不当轻则性能骤降,重则程序跑飞。本文将深入剖析STM32F4的Flash接口架构,推导等待状态的设置逻辑,并通过实测数据展示不同WS组合对系统性能的真实影响,助你精准调优,榨干芯片每一分性能。
STM32F4 PLL配置不当致CAN波特率偏差的量化分析与修正策略
嵌入式 · 👁 60 阅读
在STM32F4系列开发中,PLL配置错误常导致CAN总线波特率偏离标称值,引发通信丢帧或总线关闭。本文从时钟树原理出发,量化分析PLL分频系数对CAN波特率的影响,通过实际案例展示偏差计算过程,并给出基于HSE和HSI的修正配置步骤及完整代码,帮助开发者精准规避此类隐患。
STM32H7 零 CPU 干预波形生成:MDMA 与 DAC 的深度结合
嵌入式 · 👁 72 阅读
在嵌入式系统中,生成任意波形常依赖 CPU 频繁搬移数据,导致高负载与实时性受限。本文深入探讨 STM32H7 上利用 MDMA(存储器直接内存访问)与 DAC 的协同工作,实现完全无需 CPU 干预的波形输出。通过配置 MDMA 将波形样本从内存自动搬运至 DAC 数据寄存器,并利用定时器触发同步,可生成高精度、可变的任意波形。文章涵盖原理剖析、CubeMX 配置步骤、关键代码实现及注意事项,助力开发者提升系统效率。
STM32 DMA多路ADC采集数据错位排查:缓冲区未对齐的隐形陷阱
嵌入式 · 👁 65 阅读
在STM32嵌入式开发中,使用DMA多路采集ADC是常见需求,但数据错位问题常令人头疼。本文深入剖析一个隐蔽原因——缓冲区未对齐,它会导致DMA传输数据错位,表现为通道数据混乱。通过原理讲解、代码示例和排查步骤,帮助开发者快速定位并解决此类问题,提升系统稳定性。
ESP32 低功耗蓝牙广播中自定义厂商数据段的 MTU 协商实战:从原理到代码
嵌入式 · 👁 54 阅读
在ESP32低功耗蓝牙(BLE)开发中,广播数据包内的自定义厂商数据段常被用于设备识别或私有协议,但其长度受限于MTU(最大传输单元)。本文深入解析BLE MTU协商机制,结合ESP32 IDF框架,手把手教你如何在广播中动态调整厂商数据段长度,并给出完整代码示例与调试注意事项,助你突破数据容量瓶颈,提升嵌入式通信可靠性。
ESP32 低功耗模式下 RTC 内存数据被意外清零的边界条件分析
嵌入式 · 👁 59 阅读
ESP32 在深度睡眠等低功耗模式下,RTC 内存用于保存唤醒后的关键数据,但开发者常遇到数据意外清零的诡异问题。本文深入剖析 RTC 内存的电源域、复位源和初始化流程,揭示数据丢失的边界条件,包括 RTC 电源域掉电、EXT1 唤醒源配置错误、以及软件误调用 esp_sleep_pd_config() 等。通过原理讲解、配置步骤和完整代码示例,帮助开发者规避陷阱,确保低功耗应用的可靠性。
STM32H7 480MHz 下 Cache 未命中导致的随机死机:基于 MPU 配置的实战排查
嵌入式 · 👁 61 阅读
STM32H7 系列在 480MHz 主频下性能强劲,但若未正确配置 MPU 与 Cache,极易出现随机死机、数据错乱等隐蔽故障。本文从一次真实项目中的“玄学死机”入手,深入剖析 Cache 未命中与总线一致性问题的根源,并给出基于 MPU 的完整配置方案与代码示例,帮助开发者彻底规避此类陷阱。
ESP32多核原子操作实战:告别关中断,用硬件原语守护共享变量
嵌入式 · 👁 54 阅读
在ESP32双核FreeRTOS环境下,传统关中断保护临界区的方式在多核场景下存在致命缺陷:它只能屏蔽当前核心的中断,无法阻止另一核心的并发访问。本文通过一个边界案例,深入剖析为何原子操作是更优解,并给出完整的配置步骤、代码示例及注意事项,助你写出真正线程安全的高性能固件。
STM32CubeMX低功耗模式下的串口唤醒与DMA残留数据清空策略
嵌入式 · 👁 66 阅读
在低功耗嵌入式设计中,串口唤醒是常用手段,但DMA残留数据常导致唤醒后误触发或数据错乱。本文基于STM32CubeMX,深入讲解低功耗模式(STOP模式)下串口唤醒的配置原理,重点剖析DMA残留数据的成因与清空策略,提供完整代码示例和注意事项,帮助开发者规避常见陷阱,实现可靠的低功耗串口通信。
Arduino 框架下寄存器级 GPIO 翻转:突破 HAL 限制,实现 1μs 级精准控制
嵌入式 · 👁 86 阅读
在 Arduino 生态中,HAL 库与 digitalWrite() 的便利性掩盖了其性能瓶颈,尤其在需要 1μs 级 GPIO 翻转的场景下(如软件模拟协议、高频信号生成),默认实现往往力不从心。本文深入剖析 Arduino 底层调用链,揭示如何绕过 HAL,直接操作寄存器(如 AVR 的 PORTx 或 STM32 的 BSRR/ODR),实现纳秒级指令开销的翻转。通过实战案例,你将掌握寄存器映射原理、原子操作技巧,并构建一个可复用的高性能 GPIO 控制类,彻底摆脱库函数的性能枷锁。
ESP32 多核原子操作 vs 临界区:环形缓冲区性能实测与选型指南
嵌入式 · 👁 60 阅读
在ESP32双核FreeRTOS环境下,环形缓冲区常通过临界区(taskENTER_CRITICAL)保护,但多核竞争会引入总线延迟与调度抖动。本文深入对比原子操作(如portMUX_TYPE或内置原子指令)与临界区在环形缓冲区读写中的性能差异,给出实测数据(吞吐量、延迟抖动),并分析适用场景,助你在高实时性嵌入式系统中做出正确选择。
STM32F4 低功耗 STOP 模式下 DMA 外设唤醒的边界条件实测:从原理到代码
嵌入式 · 👁 70 阅读
在电池供电的物联网设备中,低功耗 STOP 模式与 DMA 外设唤醒的组合常被用于实现“事件驱动”的数据采集。然而,STOP 模式下时钟停止、外设状态冻结,DMA 能否真正唤醒 MCU?本文基于 STM32F407 实测,深入剖析 DMA 在 STOP 模式下的唤醒边界条件(如 EXTI 线映射、DMA 请求源、时钟门控),并给出可复用的配置代码与注意事项,帮助开发者避开“假唤醒”与“死锁”陷阱。
‹
1
...
16
17
18
...
154
›