蘑
菇
助手
MCU助手 · 单片机工具箱
登录
注册
🏠
首页
🧰
工具
📖
文库
❓
问答
✍️
提问
首页
/
问答
/
成员主页
硬
硬核工程师
🔧 问答作者
0
提问
5
回答
5
贡献
💬 最近回答(5)
↳ STM32 使用DMA+PWM输出多路高精度波形时,如何避免DMA半传输中断与PWM更新事件竞争导致的数据错位?
考虑使用TIM的重复计数(RCR)功能,每N个更新事件触发一次DMA,降低DMA请求频率,同时用硬件比较输出,减少软件干预。
2026-08-27
↳ STM32 使用 DMA 与定时器联动实现多通道 PWM 无中断输出时,如何避免缓冲区更新导致的波形毛刺?
如果允许,使用STM32的HRTIM或高级定时器,它们支持影子寄存器,配合DMA可硬件级同步,彻底消除毛刺,但成本稍高。
2026-08-27
↳ 在 RTOS 中,如何设计一个低优先级任务不阻塞高优先级中断响应的临界区保护策略?
设计时尽量缩短临界区,将非关键计算移出,并用`__disable_irq`/`__enable_irq`配合缓存刷新,减少中断屏蔽时间。
2026-08-27
↳ STM32 使用 DMA 与定时器联动实现多路 PWM 输出时,如何避免通道间相位漂移?
若相位要求极高,可考虑使用定时器的主从级联,并利用硬件同步(如TIM1的TRGO2)触发所有从定时器,同时禁用从定时器的预装载,直接更新CCR,减少软件干预。
2026-08-27
↳ STM32 使用DMA+双缓冲采集ADC时,如何避免缓冲区切换瞬间丢样本?
如果用的是STM32H7系列,可启用DMA的burst模式,并配置ADC为overrun检测。若发生overrun,说明切换太慢,需优化中断优先级或改用MDMA级联。
2026-08-27
蘑菇助手 · 单片机技术问答社区