初中生
最后登录1970-1-1
在线时间 小时
注册时间2015-10-11
|
主从机通信需要相同的地址宽度,但是若主机的发射地址是一个变量的话,还要不配置发射地址的宽度?不配置的话他们如何通信的?- //接收模式
- void SetRX_Mode(void)
- {
- SPI_CE_L();
- NRF_Write_Reg(FLUSH_RX,0xff);//清除TX FIFO寄存器
- NRF_Write_Buf(NRF_WRITE_REG+RX_ADDR_P0,(uint8_t*)RX_ADDRESS,RX_ADR_WIDTH);//写RX节点地址
- NRF_Write_Reg(NRF_WRITE_REG+EN_AA,0x01); //使能通道0的自动应答
- NRF_Write_Reg(NRF_WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址
- NRF_Write_Reg(NRF_WRITE_REG+RF_CH,40); //设置RF通信频率
- NRF_Write_Reg(NRF_WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);//选择通道0的有效数据宽度
- NRF_Write_Reg(NRF_WRITE_REG+RF_SETUP,0x0f);//设置TX发射参数,0db增益,2Mbps,低噪声增益开启
- NRF_Write_Reg(NRF_WRITE_REG+CONFIG, 0x0f);//配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,接收模式
- SPI_CE_H();
- //printf("NRF24L01 Set to Receiving Mode,RX_ADDR 0x%x...\r\n",RX_ADDRESS[4]);
- }
复制代码
|
|