[讨论] 关于STM32的SPI_Direction_1Line_Rx模式

shipeng   2018-10-18 10:43 楼主
最近有用到STM32F1的SPI单线单向主接收功能,SPI初始化时配置为SPI_Direction_1Line_Rx模式,但SPI却始终收不到正确数据,数据寄存器DR始终是0XFFFF,实测MISO引脚信号为0x0370,SCK,CS信号正常。尝试了很多方法参照别人的例程发现SPI相关GPIO不能都配置为GPIO_Mode_AF_PP模式,只有SCK配置为该模式,而MISO需配置为GPIO_Mode_IN_FLOATING模式。看到这个之后仿佛让我恍然大悟,结果却再次打脸,没有用!收到的数据还是0xFFFF。最后的最后将SPI的模式改为SPI_Direction_2Lines_RxOnly终于解决问题。我就奇怪为啥SPI_Direction_1Line_Rx模式会收不到数据?
模电临时工

回复评论 (4)

从机模式没设置对吧,应该可以的,单线要不要cs是个问题.
点赞  2018-11-1 09:07

我最近也发现这个问题了 用的ad芯片只有三根线 cs sck dout,dout也连了stm的MISO,后来发现使用SPI_Direction_1Line_Rx模式的时候,stm接收数据的线居然是MOSI线,查了资料才知道使用SPI_Direction_1Line_Rx模式时,如果STM是主机,那接收数据线是MOSI,如果是从机接收数据线才是MISO

点赞  2019-8-6 09:52

看来很多人遇到了这个问题,进来学习一下,避免踩坑

点赞  2019-8-6 11:02

现在才告诉我什么都晚了

模电临时工
点赞  2019-8-7 10:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复