STM32F103 SPI 通信问题!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F103 SPI 通信问题!相关的知识,希望对你有一定的参考价值。

while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE)==RESET);
程序到这里就死循环,运行不下去,SPI的RXNE一直置位,数据也写不进DR,DR一直显示0x00
请问这是什么问题?多谢了

参考技术A 你这个是以查询的方式接收数据。
这个函数是坚持SPI_DR是否为空,新状态为置位

spi配置的时候,注意几点:
1:主从模式一致。从模式服从主模式,不要主SPI是一种配置,从模式是另外一个配置;
2:主机启动时钟前,从机应该已经开机了,使能了<通俗的来说>

3:NSS脚的电平配置一定要注意高低,具体是高是低,我不告诉你,数据手册上有的。<这里切记切,主机还是从机>

你这个函数没问题。用法也没问题。我能估计的是以上的某一点。当然,按照数据手册来说,后面还有很多地方都可能出问题,比如单工通信配置等等。恕我是新手,无法考虑那么多了!追问

你好,主机SCK没有输出,示波器看不到波形怎么回事?

追答

主机SCK的时钟没配啊

看我给你说的第三点,然后对照着数据手册,一步一步的来

主机首先就是配置SCK时钟啊,也就是NSS脚电平相关的东西啊

追问

谢谢你还有问题!就是SPI-DR怎么查看和设置啊?

追答

这样吧,我已经用私信的方式给你留言了,按照私信操作吧,这里太麻烦了

本回答被提问者采纳

请教STM32的SPI通信中的CRC校验问题 SPI

参考技术A 你这个是以查询的方式接收数据。
这个函数是坚持spi_dr是否为空,新状态为置位
spi配置的时候,注意几点:
1:主从模式一致。从模式服从主模式,不要主spi是一种配置,从模式是另外一个配置;
2:主机启动时钟前,从机应该已经开机了,使能了
3

以上是关于STM32F103 SPI 通信问题!的主要内容,如果未能解决你的问题,请参考以下文章

STM32F103 SPI 通信问题!

STM32F103(二十六)SPI通信(+两块STM32之间的SPI通信)

STM32F103(二十六)SPI通信(+两块STM32之间的SPI通信)

请教STM32F103与DSP采用SPI通信的问题!

STM32和ADXL345之间的SPI通信

SPI通信分析