STM32F103 SPI 通信问题!

while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE)==RESET);程序到这里就死循环,运行不下去,SPI的RXNE一... while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE)==RESET);
程序到这里就死循环,运行不下去,SPI的RXNE一直置位,数据也写不进DR,DR一直显示0x00
请问这是什么问题?多谢了
展开
 我来答
散盘打坐有效果吗
推荐于2016-05-27 · TA获得超过337个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:94.5万
展开全部
你这个是以查询的方式接收数据。
这个函数是坚持SPI_DR是否为空,新状态为置位

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

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

你这个函数没问题。用法也没问题。我能估计的是以上的某一点。当然,按照数据手册来说,后面还有很多地方都可能出问题,比如单工通信配置等等。恕我是新手,无法考虑那么多了!
更多追问追答
追问
你好,主机SCK没有输出,示波器看不到波形怎么回事?
追答
主机SCK的时钟没配啊

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

主机首先就是配置SCK时钟啊,也就是NSS脚电平相关的东西啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式