[开发生态] 优先级设为 “VERY_HIGH”,会抢占其他外设 DMA 吗?

[复制链接]
1538|5
梵蒂冈是神uy 发表于 2025-8-28 15:24 | 显示全部楼层 |阅读模式
用 N32 同时跑串口 DMA(优先级 VERY_HIGH)和 SPI DMA(优先级 HIGH),结果 SPI DMA 频繁丢包,是不是串口 DMA 抢占了带宽?
项目中串口数据不能丢,SPI 也得稳定,有没有办法在 N32 上平衡两者优先级?
比如调整 DMA 的子优先级,还是有其他资源分配策略?

过期的塔头 发表于 2026-1-31 23:55 | 显示全部楼层
本帖最后由 过期的塔头 于 2026-2-1 00:36 编辑

若 SPI 时钟过高,改为 16/8MHz,增加传输容错时间;
classroom 发表于 2026-2-14 16:08 | 显示全部楼层
如果可能的话,尝试将串口或SPI的数据传输组织成更大的批量,以减少DMA请求的频率。
cr315 发表于 2026-2-14 18:09 | 显示全部楼层
如果数据传输允许一定的延迟,可以设计一种交错传输的策略,即让串口DMA和SPI DMA交替进行数据传输,以平衡总线带宽的使用。
duo点 发表于 2026-2-14 18:09 | 显示全部楼层
提高SPI总线的优先级
flycamelaaa 发表于 2026-2-14 19:10 | 显示全部楼层
用硬件流控制
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

736

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0