
nrf24l01进行六发一收,现在0通道和1通道调通了,但是2~5通道接收模块收不到数据。我是设置了所有通道使
nrf24l01进行六发一收,现在0通道和1通道调通了,但是2~5通道接收模块收不到数据。我是设置了所有通道使能的。能加你qq吗?或者请给出建议。谢谢...
nrf24l01进行六发一收,现在0通道和1通道调通了,但是2~5通道接收模块收不到数据。我是设置了所有通道使能的。能加你qq吗?或者请给出建议。谢谢
展开
3个回答
展开全部
nRF24L01无线模块实现6个通道接收数据有几点需要注意:
(1)EN_AA和EN_RXADDR寄存器的设置,要让所有通道接收数据允许和自动应答,都设置为0x3f;
(2)RX_PW_PX(X表示第几通道)寄存器,设置接收数据的数据长度,最大是32字节,默认好像是0;
(3)写接收通道地址,P0和P1通道是40位的地址,但是P2到P5只有8位地址,他们的高32位地址与P1通道相同,因此只要写一个字节地址就可以;
(4)特别要注意的是写接收通道地址的时候是先写低位地址,切记切记。
特别要注意是先写低位地址,例如你在设置地址的时候,应该低位不同,而不是高位不同。
code UINT8 RX0_Address[5]={0x01,0x20,0x20,0x20,0x20};
code UINT8 RX1_Address[5]={0x02,0x20,0x20,0x20,0x20};
code UINT8 RX2_Address[1] = {0x03};
code UINT8 RX3_Address[1] = {0x04};
code UINT8 RX4_Address[1] = {0x05};
code UINT8 RX5_Address[1] = {0x06};
(1)EN_AA和EN_RXADDR寄存器的设置,要让所有通道接收数据允许和自动应答,都设置为0x3f;
(2)RX_PW_PX(X表示第几通道)寄存器,设置接收数据的数据长度,最大是32字节,默认好像是0;
(3)写接收通道地址,P0和P1通道是40位的地址,但是P2到P5只有8位地址,他们的高32位地址与P1通道相同,因此只要写一个字节地址就可以;
(4)特别要注意的是写接收通道地址的时候是先写低位地址,切记切记。
特别要注意是先写低位地址,例如你在设置地址的时候,应该低位不同,而不是高位不同。
code UINT8 RX0_Address[5]={0x01,0x20,0x20,0x20,0x20};
code UINT8 RX1_Address[5]={0x02,0x20,0x20,0x20,0x20};
code UINT8 RX2_Address[1] = {0x03};
code UINT8 RX3_Address[1] = {0x04};
code UINT8 RX4_Address[1] = {0x05};
code UINT8 RX5_Address[1] = {0x06};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询