firefly2k 发表于 2026-6-26 13:24:27

STC8H8K64多路DMA可以同时开启发送吗?

如题,比如我uart1,uart2,uart3和LCM四种设备,每种设备的发送不超过64字节(总字节数不超过256),可以同时启用DMA发送吗?
还是说只能一种发送完,接收到中断后,才能启动另一种的发送?

firefly2k 发表于 2026-6-26 13:53:13

完全可以同时触发这四路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,启动
📋
硬件会自动协调总线访问,不需要等一路发送完成中断后再启动另一路。

梁工 发表于 2026-6-26 14:01:23

可以同时多路DMA的。

firefly2k 发表于 2026-6-26 14:16:48

梁工 发表于 2026-6-26 14:01
可以同时多路DMA的。

谢谢梁工,我后来在ai查到了,二楼写了{:xieyanxiao:}

狂热主宰 发表于 2026-6-26 16:04:50

硬件相互独立
感觉没影响
页: [1]
查看完整版本: STC8H8K64多路DMA可以同时开启发送吗?