请教24L01+,接收模式在没开动态ack payload的情况下会收到ack payload中断
发生情况:主机与从机随机发送
当出现碰撞的时候主机继续发送,从机切成接收
问题出在,只要从机切成接收后
主机一旦有数据发送过来,从机的STATUS寄存器值为0x60
即RX_DR中断和TX_DS中断同时产生
官方例程中说明0x60中断是表示接收到ACK Payload
不知道为什么 贴上初始化程序
nRF24L01_CE_LOW();
nRF24L01_WriteRegByte(nRF24L01_ConfigReg , 0x08);
nRF24L01_WriteRegByte(nRF24L01_EnAutoAnswerReg , 0x3f);
nRF24L01_WriteRegByte(nRF24L01_EnRxAddrReg, 0x3f);
nRF24L01_WriteRegByte(nRF24L01_SetAddrWidthReg, 0x03);
nRF24L01_WriteRegByte(nRF24L01_SetReTranReg, 0x5f);
nRF24L01_WriteRegByte(nRF24L01_RfChReg, 0x05);
nRF24L01_WriteRegByte(nRF24L01_RfSetUpReg, 0x26);
nRF24L01_WriteRegByte(nRF24L01_StatusReg , 0x70);
nRF24L01_WriteReg(nRF24L01_RX_ADDR_P0,5,address);
nRF24L01_WriteReg(nRF24L01_TX_ADDR,5,address);
nRF24L01_WriteRegByte(nRF24L01_RX_PW_P0, 32);
nRF24L01_WriteRegByte(nRF24L01_ConfigReg , 0x0A | mode );
nRF24L01_WriteRegByte(nRF24L01_StatusReg,0x70);
EXTI_ClearITPendingBit(EXTI_Line15);
nRF24L01_FlushRx();//清接收缓存
nRF24L01_CE_HIGH();
页:
[1]