OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2607|回复: 4

STM32 SPI读数据问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-9-5
在线时间
1 小时
发表于 2017-9-5 12:29:46 | 显示全部楼层 |阅读模式
1.png
疑问为什么循环条件为0?

2.png

RXNE不是应该为1,非空循环,等待接收缓冲为空为0的时候跳出吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2017-9-5 14:08:25 | 显示全部楼层
0的时候表示接收为空啊。如果为空就一直循环

while里面的循环是超时等待。  就是为了不让整个工程卡死。
自己选择的路,成家前走完。
回复 支持 1 反对 0

使用道具 举报

14

主题

76

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2016-7-27
在线时间
73 小时
发表于 2017-9-5 13:46:26 | 显示全部楼层
缓存区没有数据(即RXNE==0),则进行循环等待,如果一直没有数据,即retry>200返回0;如果中途接收缓存区为非空,则读取数据,则跳出循环,返回SPIx->DR
回复 支持 1 反对 0

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-9-5
在线时间
1 小时
 楼主| 发表于 2017-9-5 16:27:38 | 显示全部楼层
aiyeba 发表于 2017-9-5 14:08
0的时候表示接收为空啊。如果为空就一直循环

while里面的循环是超时等待。  就是为了不让整个工程卡死。

感谢,明白了。
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-9-5
在线时间
1 小时
 楼主| 发表于 2017-9-5 16:28:26 | 显示全部楼层
诸葛亮的哥哥 发表于 2017-9-5 13:46
缓存区没有数据(即RXNE==0),则进行循环等待,如果一直没有数据,即retry>200返回0;如果中途接收缓存区 ...

一言惊醒梦中人,多谢指点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 07:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表