求大神告知 为什么nRF24L01写一个字节还要读出一个字节 代码如下

2019-07-14 21:35发布

u8 SPIx_ReadWriteByte(u8 TxData)
{  
u8 retry=0;     
while((SPI1->SR&1<<1)==0)//等待发送区空
{
  retry++;
  if(retry>200)return 0;
}     
SPI1->DR=TxData;     //发送一个byte
retry=0;
while((SPI1->SR&1<<0)==0) //等待接收完一个byte  
{
  retry++;
  if(retry>200)return 0;
}            
return SPI1->DR;          //返回收到的数据        
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
gh037
1楼-- · 2019-07-15 03:27
 精彩回答 2  元偷偷看……
Mryan
2楼-- · 2019-07-15 06:54
收下了。好东西
QQ1005498576
3楼-- · 2019-07-15 07:24
通过SPI向NRF24L01写入第一个字节的时候,NRF24L01会同时将STATUS寄存器中的数据移出 NRF24L01时序图
wecreate
4楼-- · 2019-07-15 08:20
这程序靠谱吗?
因为有的读数据是在写数据后面,就是前面8个时序是写,后面8个时序是读。
上面的程序是全双工,写和读同在一个时序吧。

一周热门 更多>