STM32 SPI读数据问题

2019-08-14 03:14发布

1.png
疑问为什么循环条件为0?

2.png

RXNE不是应该为1,非空循环,等待接收缓冲为空为0的时候跳出吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
aiyeba
1楼-- · 2019-08-14 07:05
0的时候表示接收为空啊。如果为空就一直循环

while里面的循环是超时等待。  就是为了不让整个工程卡死。
诸葛亮的哥哥
2楼-- · 2019-08-14 10:12
缓存区没有数据(即RXNE==0),则进行循环等待,如果一直没有数据,即retry>200返回0;如果中途接收缓存区为非空,则读取数据,则跳出循环,返回SPIx->DR
yehex
3楼-- · 2019-08-14 14:58
aiyeba 发表于 2017-9-5 14:08
0的时候表示接收为空啊。如果为空就一直循环

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

感谢,明白了。
yehex
4楼-- · 2019-08-14 15:46
诸葛亮的哥哥 发表于 2017-9-5 13:46
缓存区没有数据(即RXNE==0),则进行循环等待,如果一直没有数据,即retry>200返回0;如果中途接收缓存区 ...

一言惊醒梦中人,多谢指点

一周热门 更多>