关于nRF24L01 的接收与发送数据的具体操作
voidnRF_init(){Delay100us();CE=0;//chipenableCSN=1;//SpidisableSCK=0;////TX_adr();//写...
void nRF_init()
{
Delay100us();
CE=0; // chip enable
CSN=1; // Spi disable
SCK=0; //
//TX_adr();//写 Tx 节点的地址 TX_ADDR
RX_adr();//写 Rx 节点的地址(主要是为了使能 Auto Ack) RX_ADDR_P0
REG_write(0x01,0x00);//使能 AUTO ACK EN_AA
REG_write(0x02,0x01);//使能 PIPE 0 EN_RXADDR
REG_write(0x04,0x00);//配置自动重发次数 SETUP_RETR
REG_write(0x05,0x0f);//选择通信频率 RF_CH
REG_write(0x06,0x27);//配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP
REG_write(0x11,0x08);//选择通道0 有效数据宽度 Rx_Pw_P0
REG_write(0x00,0x3b);//配置nRF24L01的基本参数以及切换工作模式 CONFIG。若为接收机则应配置为0x3b
CE=1;
}
该配置的寄存器都配置好了,我用REG_read()函数读取了一下,发现并不是我写入的指令,依次为80,81,80,8f,a7,88,bb,也就是说我读出来的寄存器指令的最高位都是1,为什么会这样?会不会影响接下来的发送与接收?这样写有问题吗? 展开
{
Delay100us();
CE=0; // chip enable
CSN=1; // Spi disable
SCK=0; //
//TX_adr();//写 Tx 节点的地址 TX_ADDR
RX_adr();//写 Rx 节点的地址(主要是为了使能 Auto Ack) RX_ADDR_P0
REG_write(0x01,0x00);//使能 AUTO ACK EN_AA
REG_write(0x02,0x01);//使能 PIPE 0 EN_RXADDR
REG_write(0x04,0x00);//配置自动重发次数 SETUP_RETR
REG_write(0x05,0x0f);//选择通信频率 RF_CH
REG_write(0x06,0x27);//配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP
REG_write(0x11,0x08);//选择通道0 有效数据宽度 Rx_Pw_P0
REG_write(0x00,0x3b);//配置nRF24L01的基本参数以及切换工作模式 CONFIG。若为接收机则应配置为0x3b
CE=1;
}
该配置的寄存器都配置好了,我用REG_read()函数读取了一下,发现并不是我写入的指令,依次为80,81,80,8f,a7,88,bb,也就是说我读出来的寄存器指令的最高位都是1,为什么会这样?会不会影响接下来的发送与接收?这样写有问题吗? 展开
1个回答
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询