登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看2368|回2|收藏
楼主 ID:286687 只看他
2018-8-24 18:52
用的是原子的例程 发送方一直卡在最大重发次数那边 读STATUS值是0X1E 接收方能收到数据 但是STATUS读出来是0XFF 把接收到的数据传到电脑上满屏的FF
u8 NRF24L01_TxPacket(u8 *txbuf)
{
u8 sta;
  SPI1_SetSpeed(SPI_BaudRatePrescaler_8);
NRF24L01_CE=0;
  NRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,TX_PLOAD_WIDTH);
  NRF24L01_CE=1;
while(NRF24L01_IRQ!=0);
sta=NRF24L01_Read_Reg(STATUS);  
NRF24L01_Write_Reg(NRF_WRITE_REG+STATUS,sta);
if(sta&MAX_TX)
{
  NRF24L01_Write_Reg(FLUSH_TX,0xff);
  return MAX_TX;
}
if(sta&TX_OK)
{
  return TX_OK;
}
return 0xff;
}这个是发送的

u8 NRF24L01_RxPacket(u8 *rxbuf)
{
u8 sta;               
SPI1_SetSpeed(SPI_BaudRatePrescaler_32);
sta=NRF24L01_Read_Reg(STATUS);  
NRF24L01_Write_Reg(NRF_WRITE_REG+STATUS,sta);
if(sta&RX_OK)
{
  NRF24L01_Read_Buf(RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);
  NRF24L01_Write_Reg(FLUSH_RX,0xff);
  return 0;
}   
return 1;
}     这个是接收的 能收到数据 但是数据不对



沙发 ID:94031 只看他
2018-8-25 11:16
说明器件的硬件接线,或软件初始化没做好,读出来才不正常。
板凳 ID:285561 只看他
2018-9-3 09:11
楼主问题解决了吗  我也遇到同样的问题
程序一直检测不到nRf24L01存在,也不知道0XA5有没有写进去,反正读出来就是0XFF

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版