stm32 中DMA的stream和channel关系

问:STM32(意法)DMA中的stream和channel到底什么关系和区别?

答:拿stm32的DMA1做例举。DMA1中总共有8个stream,而每个stream可以配置成不同的传输源和目的地址,这就是channel。1个不同的源和目的就叫1个channel。如下图所示:stm32 中DMA的stream和channel关系_第1张图片

 

上图中stream0可以被配置成channel 0、1、2、3、4、6。配置成channel0时用spi3_rx功能,配置channel1时是i2c1_rx功能,但是stream0只能配置其中的1个channel,因为同一个stream不可能给外设1传输数据的同时又给外设2传输数据。具体配置在DMA_SxCR寄存器的CHSEL域配置

你可能感兴趣的:(stm32&rt_thread)