SPI DMA的一点小疑问

2019-07-20 06:22发布

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
yfBong
2019-07-20 15:17
edmund1234 发表于 2018-9-3 23:19
触发DMA_SPI_RX的不是SPI_DR, 所以你写是不会影响DMA接收数据的,而且在user的角度SPI_DR发送接收是同一个 ...

您最后一句我的理解是:SPI在使能后,得等主机发送完全部内容后、从机才开始返回相应的内容给从机,这样SPI_DR寄存器就互不干扰,而不是主机发完一个字节从机就返回一个字节,这样理解对吗?

但这不是跟正常的SPI收发发完一个字节返回一个字节相驳吗?
十分感谢您的指导!!!

一周热门 更多>