蘑
菇
助手
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 双Bank切换实现OTA零停机:基于Flash双区映射的实战踩坑记录
嵌入式 · 👁 4 阅读
在工业物联网设备中,OTA升级往往面临停机风险。本文深入探讨STM32双Bank切换技术,通过Flash双区映射实现无缝升级,避免系统重启。文章从原理剖析到寄存器配置,再到完整代码示例,并分享实战中的关键踩坑点,帮助开发者规避常见陷阱,确保升级可靠性。
ESP32 双核环境下 FreeRTOS 任务优先级反转的实测与规避策略:结合互斥量与调度锁
嵌入式 · 👁 5 阅读
在 ESP32 双核 FreeRTOS 系统中,任务优先级反转不仅受经典互斥量影响,还因双核并发调度而加剧。本文通过实测展示优先级反转现象,深入剖析其成因,并对比互斥量与调度锁(vTaskSuspendAll)在双核下的适用性,给出规避策略与完整代码示例,帮助开发者构建高实时性嵌入式应用。
STM32G4 CORDIC硬件加速器在电机控制中的实战配置与精度校准
嵌入式 · 👁 4 阅读
STM32G4系列内置CORDIC协处理器,可硬件加速三角函数、矢量旋转等运算,显著提升电机控制环路性能。本文深入解析CORDIC原理,手把手演示在STM32G4上的寄存器级配置流程,并给出基于FPU的软件校准方法,确保计算精度。通过完整代码示例,展示如何将CORDIC集成到FOC(磁场定向控制)中,实现高速、高精度的Park变换与反正切计算。
STM32F4 无外部晶振的可靠唤醒:LSE 停振后利用 RTC 备份域寄存器的实战指南
嵌入式 · 👁 4 阅读
在 STM32F4 系列开发中,LSE(低速外部晶振)常被用于 RTC 实时时钟,但晶振起振慢、易受干扰,一旦停振可能导致系统唤醒失败。本文深入探讨如何利用 RTC 备份域寄存器(BKP)在 LSE 失效时实现无外部晶振的可靠唤醒,涵盖原理、配置步骤、完整代码及注意事项,帮助开发者构建高鲁棒性的低功耗系统。
RTOS 优先级反转的硬件级缓解:基于 Cortex-M 内核的互斥访问指令优化
嵌入式 · 👁 4 阅读
在实时嵌入式系统中,优先级反转是导致任务调度延迟的经典问题。传统软件互斥锁(如信号量)虽能解决资源竞争,但会引入不可控的阻塞时间。本文深入探讨基于 Cortex-M 内核的硬件互斥访问指令(LDREX/STREX)与优先级继承协议的结合,通过原子操作和硬件仲裁,实现零中断延迟的临界区保护,显著降低优先级反转风险。文章提供完整代码示例和配置步骤,帮助开发者掌握这一高级优化技术。
基于 RTOS 信号量实现多核(AMP)架构下外设互斥访问的陷阱与修正
嵌入式 · 👁 4 阅读
在非对称多处理(AMP)架构中,多个内核共享同一外设时,仅依赖 RTOS 信号量进行互斥往往隐藏着致命陷阱:信号量状态不一致、缓存一致性问题、以及中断上下文中的死锁。本文深入剖析这些陷阱的根源,并给出基于硬件自旋锁、内存屏障及核间中断(IPI)的修正方案,附完整可运行的 STM32H7 双核示例代码,帮助开发者构建真正安全的外设访问机制。
STM32F4 168MHz 下多路 ADC DMA 连续采样:缓冲区溢出与数据错位的规避策略
嵌入式 · 👁 4 阅读
在 STM32F4 系列以 168MHz 主频运行时,使用 DMA 进行多路 ADC 连续采样是高性能数据采集的常见方案,但缓冲区溢出与数据错位问题常导致采样数据失真。本文深入剖析 DMA 传输机制、双缓冲区设计与数据对齐策略,结合代码示例,提供一套完整的规避方案,帮助开发者稳定实现多通道高精度采样。
ESP32 双核环境下 FreeRTOS 任务通知替代信号量:上下文切换开销的实测对比与优化实践
嵌入式 · 👁 4 阅读
在ESP32双核FreeRTOS应用中,任务间同步常使用信号量,但其内核调用和队列操作会引入显著的上下文切换开销。本文深入剖析任务通知(Task Notification)的轻量级机制,通过实际代码和性能测量,对比信号量与任务通知在双核环境下的延迟和CPU占用率,展示如何用任务通知将同步开销降低30%-50%,并给出配置步骤、完整示例及注意事项,助力开发者打造高效实时系统。
ESP32 双核环境下 FreeRTOS 任务通知替代信号量:规避优先级翻转与丢失唤醒的实战指南
嵌入式 · 👁 4 阅读
在ESP32双核FreeRTOS应用中,任务通知(Task Notification)相比信号量具有更低的开销和更快的执行速度,但若使用不当,会引发优先级翻转和唤醒丢失问题。本文深入剖析其原理,提供基于ESP-IDF的配置步骤、完整代码示例及规避策略,帮助开发者安全高效地利用任务通知,提升系统实时性与稳定性。
STM32F4 Flash等待状态与主频/电压的匹配关系及实测性能对比
嵌入式 · 👁 4 阅读
STM32F4系列主频高达168MHz,但Flash读取速度受限于供电电压,必须插入等待状态(WS)才能保证稳定运行。本文深入解析Flash等待状态的原理、与主频及供电电压的匹配关系,并通过实测对比不同配置下的性能差异,帮助开发者正确配置WS参数,避免系统崩溃或性能损失。
STM32 DMA多通道ADC采集:数据错位规避与双缓冲零拷贝实战
嵌入式 · 👁 4 阅读
在STM32嵌入式开发中,使用DMA多通道采集ADC是高效获取模拟信号的关键技术,但数据错位和CPU拷贝开销常困扰开发者。本文深入剖析多通道DMA传输的底层机制,揭示数据错位的根本原因,并给出基于双缓冲(Ping-Pong)的零拷贝处理方案。通过完整代码示例,你将掌握如何配置ADC与DMA,利用中断实现无缝切换,在避免数据错位的同时,大幅降低CPU负载,提升系统实时性。
STM32H7 在 400MHz 下 FDCAN 总线仲裁位时序余量不足的实测与补偿策略
嵌入式 · 👁 4 阅读
STM32H7 在 400MHz 主频下运行 FDCAN 外设时,由于内核时钟与 APB 外设时钟的分频关系,仲裁位时序(特别是位时间中的同步段和传播段)可能出现余量不足,导致总线通信错误。本文通过实测波形分析,揭示了该问题的根本原因,并提供了两种补偿策略:调整位时间参数和优化时钟树配置。文章包含完整的代码示例和配置步骤,帮助开发者快速解决这一嵌入式开发中的常见痛点。
‹
1
...
71
72
73
...
138
›