STC8H8K64多路DMA可以同时开启发送吗?
如题,比如我uart1,uart2,uart3和LCM四种设备,每种设备的发送不超过64字节(总字节数不超过256),可以同时启用DMA发送吗?还是说只能一种发送完,接收到中断后,才能启动另一种的发送?
完全可以同时触发这四路DMA发送。 例如,您只需要依次执行以下操作即可同时启动:
// 使能并触发 UART1 DMA 发送
DMA_UR1T_CR = 0x80;// ENUR1T=1
DMA_UR1T_CR |= 0x40; // TRIG=1,启动
// 使能并触发 UART2 DMA 发送
DMA_UR2T_CR = 0x80;// ENUR2T=1
DMA_UR2T_CR |= 0x40; // TRIG=1,启动
// 使能并触发 UART3 DMA 发送
DMA_UR3T_CR = 0x80;// ENUR3T=1
DMA_UR3T_CR |= 0x40; // TRIG=1,启动
// 使能并触发 LCM DMA 发送(数据模式)
DMA_LCM_CR = 0x80; // ENLCM=1
DMA_LCM_CR |= 0x20;// TRIGWD=1,启动
📋
硬件会自动协调总线访问,不需要等一路发送完成中断后再启动另一路。 可以同时多路DMA的。 梁工 发表于 2026-6-26 14:01
可以同时多路DMA的。
谢谢梁工,我后来在ai查到了,二楼写了{:xieyanxiao:} 硬件相互独立
感觉没影响
页:
[1]