spi的小联想

2019-10-14 23:07发布

stm32 既然有了硬件spi,为什么还要用dma spi 那。  dma spi 有啥用那?  为什么了数据量大,发送方便吗? 我这么理解对吗?  希望大家分享一下,自己使用时候的心得吧!! 摸摸哒。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
TGuest
1楼-- · 2019-10-15 04:09
楼主,DMA只是SPI通信的一种方式,DMA能帮助SPI来传输数据而不需要CPU都参与,这样就能使SPI得传输速率更快。举个例子,你设置DMA的源地址为A,目标地址为B,并且配置完DMA的一些参数,当你使能DMA后,DMA会自动从A地址搬运数据到B地址根据你的设置来运行。反正说道底,DMA就是为了加快通信速度的,可以用I2C 的DMA,USART的DMA,SDIO的DMA等等。而DMA在使用的时候也很方便,要注意配置DMA的源和目标地址的转变也就是传输方向,还要注意循环方式和地址的递增。反正挺好用的。
TGuest
2楼-- · 2019-10-15 09:50
楼主,DMA只是SPI通信的一种方式,DMA能帮助SPI来传输数据而不需要CPU都参与,这样就能使SPI得传输速率更快。举个例子,你设置DMA的源地址为A,目标地址为B,并且配置完DMA的一些参数,当你使能DMA后,DMA会自动从A地址搬运数据到B地址根据你的设置来运行。反正说道底,DMA就是为了加快通信速度的,可以用I2C 的DMA,USART的DMA,SDIO的DMA等等。而DMA在使用的时候也很方便,要注意配置DMA的源和目标地址的转变也就是传输方向,还要注意循环方式和地址的递增。反正挺好用的。
TGuest
3楼-- · 2019-10-15 15:06
楼主,DMA只是SPI通信的一种方式,DMA能帮助SPI来传输数据而不需要CPU都参与,这样就能使SPI得传输速率更快。举个例子,你设置DMA的源地址为A,目标地址为B,并且配置完DMA的一些参数,当你使能DMA后,DMA会自动从A地址搬运数据到B地址根据你的设置来运行。反正说道底,DMA就是为了加快通信速度的,可以用I2C 的DMA,USART的DMA,SDIO的DMA等等。而DMA在使用的时候也很方便,要注意配置DMA的源和目标地址的转变也就是传输方向,还要注意循环方式和地址的递增。反正挺好用的。
旺旺佳
4楼-- · 2019-10-15 18:14
 精彩回答 2  元偷偷看……
aaaaalaode
5楼-- · 2019-10-15 23:46
TGuest 发表于 2017-2-23 10:21
楼主,DMA只是SPI通信的一种方式,DMA能帮助SPI来传输数据而不需要CPU都参与,这样就能使SPI得传输速率更快 ...

恩,谢谢谢谢。

一周热门 更多>