|
发表于 2014-5-24 21:14:16
|
显示全部楼层
楼主你好在ANO_USB程序里面是这里的红色部分把数据写进24l01,然后2401自动放在ACK里面发出去吗?非常感谢你的开源啊。我以为要把数据写在特殊的区域里面呢。
void NRF_Send_RC(void)
{
NRF24L01_TXDATA[0] = 0x8A;
NRF24L01_TXDATA[1] = 0x8A;
NRF24L01_TXDATA[2] = 0x1C;
NRF24L01_TXDATA[3] = BYTE1(Rc_Get.THROTTLE);
NRF24L01_TXDATA[4] = BYTE0(Rc_Get.THROTTLE);
NRF24L01_TXDATA[5] = BYTE1(Rc_Get.YAW);
NRF24L01_TXDATA[6] = BYTE0(Rc_Get.YAW);
NRF24L01_TXDATA[7] = BYTE1(Rc_Get.ROLL);
NRF24L01_TXDATA[8] = BYTE0(Rc_Get.ROLL);
NRF24L01_TXDATA[9] = BYTE1(Rc_Get.PITCH);
NRF24L01_TXDATA[10] = BYTE0(Rc_Get.PITCH);
NRF24L01_TXDATA[11] = BYTE1(Rc_Get.AUX1);
NRF24L01_TXDATA[12] = BYTE0(Rc_Get.AUX1);
NRF24L01_TXDATA[13] = BYTE1(Rc_Get.AUX2);
NRF24L01_TXDATA[14] = BYTE0(Rc_Get.AUX2);
NRF24L01_TXDATA[15] = BYTE1(Rc_Get.AUX3);
NRF24L01_TXDATA[16] = BYTE0(Rc_Get.AUX3);
NRF24L01_TXDATA[17] = BYTE1(Rc_Get.AUX4);
NRF24L01_TXDATA[18] = BYTE0(Rc_Get.AUX4);
NRF24L01_TXDATA[19] = BYTE1(Rc_Get.AUX5);
NRF24L01_TXDATA[20] = BYTE0(Rc_Get.AUX5);
u8 sum = 0;
for(u8 i=0;i<31;i++)
sum += NRF24L01_TXDATA;
NRF24L01_TXDATA[31] = sum;
NRF_TxPacket_AP(NRF24L01_TXDATA,32);
} |
|