mt1875387857 2015-05-04 16:07 采纳率: 0%
浏览 5709

nrf2401接收数据后状态寄存器STATUS值为0X0E是怎么回事

发送完全正常,但接收不到
接收部分代码:
unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)
{
unsigned char revale=0;
u8 status;

//sta=SPI_Read(STATUS); // 读取状态寄存其来判断数据接收状况
status=SPI_Read(READ_REG1+STATUS);          // 读取状态寄存其来判断数据接收状况

if(status & 0x40)               // 判断是否接收到数据
{
    MODE_CE(0);             //SPI使能
    //SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer
    SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);  //从接收缓冲区里读出数据

    //rx_buf[1]=1;
    revale =1;          //读取数据完成标志
}
//SPI_RW_Reg(WRITE_REG+STATUS,sta);   //接收到数据后RX_DR,TX_DS,MAX_PT都置高为1,通过写1来清楚中断标志
SPI_RW_Reg(WRITE_REG1+STATUS, status);       //清除07寄存器标志
return revale;

}

  • 写回答

1条回答

  • 飞飞大帅 2017-11-21 06:37
    关注

    时序问题或者加长延迟时间
    数据手册上CE端拉高,延迟130us后就可以完成发射/接收,发射模式和接收模式切换保证在1.5ms以上
    其实亲测这个时间根本不行
    所有延时全部提升至ms级,可以去试试

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?