问题 得到解决 和大家分享一下。
Clr_NRF24L01_CE;
tx_addr();
NRF24L01_Write_Buf(NRF24L01_WR_TX_PLOAD,packet,10);//写数据到TX BUF 32个字节
Set_NRF24L01_CE;//启动发送
NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0x70);//disable all interrupt
//NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0xff);//read status
NRF24L01_Read_Reg(NRF24L01_READ_REG+STATUS);
SPIx_ReadWriteByte(NRF24L01_REUSE_TX_PL);//retr
以上是错误的程序
以下是改好的程序
Clr_NRF24L01_CE;
tx_addr();
NRF24L01_Write_Buf(NRF24L01_WR_TX_PLOAD,packet,10);//写数据到TX BUF 32个字节
Set_NRF24L01_CE;//启动发送
NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0x70);//disable all interrupt
//NRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,0xff);//read status
NRF24L01_Read_Reg(NRF24L01_READ_REG+STATUS);
//SPIx_ReadWriteByte(NRF24L01_REUSE_TX_PL);//retr
NRF24L01_Write_Reg(NRF24L01_REUSE_TX_PL,0xff);//retr
原因是重复发送数据的那个SPI指令写错。望以后能帮到别人。
|