| 
 
| 用GPIO1/2进行检测, GPIO1用于WTR(等待TX/RX完毕),GPIO2 用于接收的FSYNC(RF ID同步)检测
 发送和接收时GPIO1和2都有脉冲,说明数据已经发送出去,接收已经成功了的。
 但是FIFO读写不正常,都是0,有高手知道什么原因吗?
 这个是FIFO  TX的写函数:// TX 读 FIFO
 void write_data_to_fifo(U8 send_cnt)
 {
 U8 i = 0;
 if(send_cnt > RF_FIFO_LEN)
 {
 send_cnt = RF_FIFO_LEN;
 } // A7105_write_command(RF_CMD_TX_FIFO_RESET);    RF_SCS_LOW();
 SPI_RWbyte(RF_REG_FIFO_DATA);
 for(i=0; i<send_cnt; i++)                                                // 这里固定写RF_FIFO_LEN个字节
 {
 SPI_RWbyte(i);//(Rf_Send_Buf);
 }
 RF_SCS_HIGH();
 
 
 }
 
 // RX 读FIFO
 void read_data_from_fifo(void)
 {
 U8 i = 0;
 // A7105_write_command(RF_CMD_RX_FIFO_RESET);
 RF_SCS_LOW();
 SPI_RWbyte(RF_REG_FIFO_DATA|0x40);
 for(i=0; i<RF_FIFO_LEN; i++)                                                // 这里是固定读RF_FIFO_LEN个字节
 {
 Rf_Rec_Buf = SPI_RWbyte(0);
 }
 RF_SCS_HIGH();
 }
 
 
 // TX 发送数据
 void send_data_by_RF(unsigned char  send_byte_cnt)
 {
 if(send_byte_cnt)
 {
 A7105ProcessOK=OFF;// TX完毕之后,在中断中置1
 write_data_to_fifo(send_byte_cnt);                // 写数据到fifo
 A7105_entry_tx();                                                // 进入发送状态发送数据
 Delay(150);                                                        // 从通过软件命令让RF进入发送状态到开始发送,这中间有140us的延时                                                                                // 因此这里要经过>=140us 的延时后在中断中再读GPIO1的状态
 while(A7105ProcessOK==OFF);        //  等待TX完毕
 }
 }
 | 
 |