ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
每个 DMA 通道都能根据它的触发源使用 DMATSEL 进行独立配置。只有当 DMACTLx.DMAEN 位为 0 时,才应修改 DMATSEL 位;否则,可能会发生不可预知的 DMA 触发。
有关可用触发的列表及其对应的 DMATSEL 值,请参阅特定于器件的数据表。
当选择触发时,必须确保触发还没有发生,或传输将不会发生。
DMA 通道可在另一个通道上的活动完成时在内部触发,以支持级联。当 DMA 通道的 DMASZ 计数器达到零时,活动完成。对于无需中断或事件配置即可检索、传输和/或错误检查数据的应用,这非常有用。
设置 DMATINT 位,以便根据 DMATSEL 触发源在内部触发下一个 DMA 通道。一旦发生 DMATSEL 触发,下一个 DMA 通道便开始自动执行。
例如,如果 UART 数据通过 DMA 通道 0 接收并发送到 SRAM,并且 DMATSEL 设置为 UART RX,则当 UART 完成接收数据时,可在内部触发 DMA 通道 1。如果 DMA 通道 1 配置为将数据从 SRAM 传输到 CRC,则 DMA 传输将在接收到 UART 数据后触发。在这种情况下,DMA 通道从通道 0 级联到通道 1。