中级会员
- 积分
- 237
- 金钱
- 237
- 注册时间
- 2017-9-8
- 在线时间
- 98 小时
|
楼主 |
发表于 2017-11-6 20:02:18
|
显示全部楼层
谢谢原子哥,nrf24l01多次发送数据,但是接收模块只能接收几次,后面的发送模块就一直出现MAX_TX,怎么回事
u8 NRF24L01_TxPacket(u8 *txbuf)
{
u8 sta;
SPI2_SetSpeed(SPI_BaudRatePrescaler_8);//spiËù¶èÎa9Mhz£¨24L01μÄ×î′óSPIê±ÖóÎa10Mhz£©
NRF24L01_CE=0;
NRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,TX_PLOAD_WIDTH);//D′êy¾Yμ½TX BUF 32¸ö×Ö½ú
NRF24L01_CE=1;//Æô¶ˉ·¢Ëí
while(NRF24L01_IRQ!=0);//μè′y·¢Ëííê3é
sta=NRF24L01_Read_Reg(STATUS); //¶áè¡×′쬼Ä′æÆ÷μÄÖμ
NRF24L01_Write_Reg(WRITE_REG_NRF+STATUS,sta); //Çå3yTX_DS»òMAX_RTÖD¶Ï±êÖ¾
if(sta&MAX_TX)//′ïμ½×î′óÖØ·¢′Îêy
{
NRF24L01_Write_Reg(FLUSH_TX,0xff);//Çå3yTX FIFO¼Ä′æÆ÷
return MAX_TX;
}
if(sta&TX_OK)//·¢Ëííê3é
{
return TX_OK;
}
return 0xff;//ÆäËûÔ-òò·¢Ëí꧰ü
} |
|