SPI DMA的一点小疑问

2019-07-20 06:22发布

SPI全双工同步,通信时读取数据一般是发送空串然后返回所要读取的数据,那么我使能DMA  SPI接收的话,源地址是&SPI->DR,DMA目的地址是定义的缓冲区,那么不往SPI写入数据到SPI->DR发送的话,DMA就获取不到数据,请问这个怎么解决?望各位给予点指示,十分感谢!!(串口的话发送与接受是分开的,串口用DMA发送就明白)

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
edmund1234
2019-07-20 15:51
yfBong 发表于 2018-9-4 08:21
如果SPI DMA接收的话,DMA源的设置地址不是SPI_DR的话,能确切一点说明是什么吗?还有您的最后一句“在use ...

SPI_I2S_DMACmd(SPI1, SPI_I2S_DMAReq_Rx,ENABLE);
这是让SPI接收一个字节后触发DMA的函数, 触发DMA是一回事, DMA从哪儿读数据到Buffer又是另一回事, 理论上DMA源地址你不设为SPI_DR也没问题, 只是DMA读回来没意思的数据而已

一周热门 更多>