打印
[STM32]

nrf24l01发送正常,但是接收不到数据

[复制链接]
1399|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
虾米一代|  楼主 | 2014-11-26 22:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是用DSP28335写的发送端,用stm32写的接收端,当然用DSP写接收端也没调出来。这个和单片机类型无关吧。发送端status可以使0x2e,这样就说明发送端没有问题吧。接收端咋就接收不到呢????求解.。关键是没有调试思路啊,配置也就是配置成rx_mode();没了,rx_mode();是用的例程。。都是这样写的void RX_Mode(void){ NRF24L01_CE=0;     NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);//写RX节点地址//   NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);//写TX节点地址    NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x00);    //使能通道0的自动应答      NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址      NRF24L01_Write_Reg(WRITE_REG+RF_CH,40);      //设置RF通信频率      NRF24L01_Write_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);//选择通道0的有效数据宽度        NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0a);//设置TX发射参数,0db增益,2Mbps,低噪声增益开启     NRF24L01_Write_Reg(WRITE_REG+CONFIG, 0x0f);//配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,接收模式   NRF24L01_Write_Reg(FLUSH_RX,0xff);//清除RX FIFO寄存器   NRF24L01_CE = 1; //CE为高,进入接收模式}    u8 NRF24L01_RxPacket(u8 *rxbuf){ u8 sta,VAL;                // SPIx_SetSpeed(SPI_SPEED_8); //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)    sta=NRF24L01_Read_Reg(STATUS);  //读取状态寄存器的值       NRF24L01_Write_Reg(WRITE_REG+STATUS,sta); //清除TX_DS或MAX_RT中断标志 //sta=RX_OK; if(sta&RX_OK)//接收到数据 {  VAL=NRF24L01_Read_Reg(0X60);  NRF24L01_Read_Buf(RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);//读取数据  NRF24L01_Write_Reg(FLUSH_RX,0xff);//清除RX FIFO寄存器   return 0;  }

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

72

帖子

0

粉丝