蘑
菇
助手
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)
RTOS 中优先级反转的隐蔽触发场景:互斥量与消息队列混用时的排查方法
嵌入式 · 👁 32 阅读
在嵌入式实时系统(RTOS)中,优先级反转是导致任务调度异常、响应超时的经典问题。然而,当互斥量(Mutex)与消息队列(Queue)混用时,优先级反转可能以更隐蔽的方式触发,甚至绕过常规的优先级继承机制。本文深入剖析这一场景的底层原理,结合具体代码示例,给出系统化的排查与修复方法,帮助开发者避免这类“隐形杀手”对系统实时性的破坏。
STM32 低功耗模式(STOP2)下 RTC 闹钟唤醒后 GPIO 状态恢复的陷阱与配置顺序
嵌入式 · 👁 47 阅读
在 STM32 低功耗设计中,STOP2 模式配合 RTC 闹钟唤醒是常见方案,但唤醒后 GPIO 状态恢复常被忽视,导致外设误动作。本文深入剖析 STOP2 模式下 GPIO 状态丢失的硬件机制,揭示配置顺序对恢复的关键影响,并给出完整的代码示例与调试建议,帮助开发者避开陷阱,实现稳定可靠的低功耗应用。
RTOS下多生产者单消费者环形缓冲区的无锁化改造:信号量驱动的实战指南
嵌入式 · 👁 49 阅读
在嵌入式实时系统中,多任务间的高效数据交换常依赖环形缓冲区。然而,当多个生产者任务同时写入时,传统的互斥锁机制会引入优先级反转和上下文切换开销。本文深入探讨如何利用RTOS信号量(Semaphore)实现多生产者单消费者(MPSC)场景下的无锁化环形缓冲区,通过巧妙设计避免数据竞争,提升系统实时性。文章将剖析原理、给出完整代码示例,并分享关键注意事项,助你掌握这一高性能并发编程技巧。
STM32 不定长串口接收:DMA 环形缓冲区 + 空闲中断的边界条件深度剖析
嵌入式 · 👁 51 阅读
在嵌入式开发中,串口接收不定长数据是常见需求,但处理不当极易丢帧。本文深入讲解如何利用 DMA 环形缓冲区配合空闲中断,实现高效、可靠的 STM32 不定长串口接收。文章不仅涵盖原理与配置步骤,更重点分析了环形缓冲区读写指针的边界条件、DMA 半传输中断与空闲中断的协同机制,以及常见陷阱的规避方法,助你彻底告别丢帧困扰。
STM32F4 LSE 停振应急手册:备份域寄存器实现无损时钟切换与故障记录
嵌入式 · 👁 40 阅读
在工业与物联网场景中,STM32F4 的 LSE(32.768kHz 低速外部晶振)常因环境干扰或老化而停振,导致 RTC 失准甚至系统挂起。本文深入剖析 LSE 失效检测机制,并演示如何利用 RTC 备份域寄存器(BKP)在中断服务函数中完成时钟源无缝切换(LSE→LSI),同时将故障时间与状态原子化写入备份寄存器,实现掉电不丢失的故障记录。文章包含原理图解、CubeMX 配置步骤、完整 C 代码示例及工程注意事项,助你构建高可靠的时钟管理模块。
AVR 软中断黑科技:用 SREG 保留位在 Arduino 上实现任务切换
嵌入式 · 👁 57 阅读
在 Arduino 上实现多任务通常依赖定时器中断或协作式调度,但 AVR 内核中隐藏着一个未公开的 SREG 位——T 标志(Bit 6),它可以在不占用任何外设资源的情况下,通过软件触发中断级任务切换。本文将深入剖析 T 标志的工作原理,展示如何利用它构建一个轻量级、低延迟的软中断调度器,并给出完整代码示例与注意事项,帮助你在资源受限的 MCU 上实现接近 RTOS 的并发体验。
ESP32-C3 低功耗模式下 RTC 内存保持与快速唤醒的边界条件分析
嵌入式 · 👁 67 阅读
ESP32-C3 作为 RISC-V 架构的低功耗 Wi-Fi/BLE SoC,其深度睡眠模式下的 RTC 内存保持能力是设计低功耗物联网设备的关键。然而,RTC 内存并非无限,且唤醒延迟受多种边界条件制约。本文深入剖析 ESP32-C3 在深度睡眠下 RTC 内存的可用大小、数据保持的电气条件、以及快速唤醒的时序约束,结合寄存器配置与代码示例,帮助开发者规避常见陷阱,实现最优功耗与响应速度的平衡。
ESP32 双核环境下 FreeRTOS 任务优先级反转的实测分析与规避策略
嵌入式 · 👁 39 阅读
在 ESP32 双核 FreeRTOS 系统中,优先级反转是导致实时性失控的隐形杀手。本文通过实测复现经典反转场景,深入剖析双核调度下的特殊表现,并给出互斥量、优先级继承、任务隔离等实用规避策略。文章包含完整代码示例与实验数据,帮助开发者构建高可靠嵌入式系统。
Arduino 软件串口波特率自适应:基于脉冲宽度测量的动态校准法
嵌入式 · 👁 57 阅读
在嵌入式开发中,软件串口(SoftwareSerial)常用于扩展串口数量,但固定波特率配置在时钟漂移或外部晶振不精确时易导致通信失败。本文提出一种基于脉冲宽度测量的动态校准法,通过测量起始位和数据的脉冲宽度,实时计算实际波特率并调整采样点,实现软件串口的自适应通信。文章详细讲解原理、配置步骤、完整代码及注意事项,帮助开发者提升系统鲁棒性。
STM32F4 LSE 停振应急指南:用 HSI 校准 RTC,守住时间精度
嵌入式 · 👁 39 阅读
在 STM32F4 嵌入式系统中,LSE(低速外部晶振)是 RTC 的常规时钟源,但晶振起振慢、易受干扰,一旦停振,RTC 将陷入混乱。本文深入剖析 LSE 失效的检测机制,并给出一种基于 HSI(高速内部振荡器)的 RTC 校准方案,通过分频、补偿和软件同步,在无外部晶振时仍能维持秒级精度。文章包含原理讲解、寄存器配置、完整代码示例及工程注意事项,助你构建高可靠的时钟系统。
UART不定长接收:DMA环形缓冲区下如何精准区分帧尾与噪声干扰
嵌入式 · 👁 47 阅读
在嵌入式开发中,UART不定长接收常借助DMA环形缓冲区实现高效数据流处理,但帧尾与噪声干扰的区分始终是难点。本文深入剖析DMA环形缓冲区的接收机制,对比空闲中断、帧超时和帧长度校验三种策略,并给出基于STM32的完整代码示例,帮助开发者构建鲁棒的通信协议,避免误帧与丢帧。
STM32F4 LSE 停振无感恢复:硬件 RTC 备份域时间戳校准实战指南
嵌入式 · 👁 41 阅读
在工业与物联网场景中,STM32F4 的 LSE 晶振可能因干扰或老化停振,导致 RTC 时间漂移甚至系统挂死。本文深入剖析 LSE 失效的检测机制,并基于硬件 RTC 备份域设计一套无感恢复方案:利用备份寄存器保存关键时间戳,在停振后自动切换 LSI 并校准时间,确保系统时间连续可靠。文章包含原理讲解、CubeMX 配置、完整代码示例及工程注意事项,助你构建高鲁棒性的嵌入式时钟系统。
‹
1
...
24
25
26
...
155
›