微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > CC1101读RXBYTES不正常?

CC1101读RXBYTES不正常?

时间:10-02 整理:3721RD 点击:

CC1101读RXBYTES不正常?


       CC1101,GD0设置为0x07,MCU设置成上升沿中断,工作模式设置为接收完数据包后,保持接收模式,中断后判断RXBYTES是否有数据,有就读RX FIFO。
       发现问题:只有第一次中断(RXBYTES数据长度是正确的),之后的每一次读RXBYTES都为0。后来我将工作模式设置为接收到一个数据包后,进入IDEL模式,读完RX FIFO后,刷新RX FIFO,然后启动接收模式,就发现每次都正常。
接收代码(只有第一次读(RXBYTES)正常):
void Receive_Packet(void)
{
     delay_0_25us(25000);   //150us
if ((Read_Status(RXBYTES);& BYTES_IN_RXFIFO)) //如果接的字节数不为0

rf_rx_buff.len=Read_Reg(RXFIFO); //读出第一个字节,此字节为该帧数据长度
if(rf_rx_buff.len>0)   
     Read_BurstReg(RXFIFO, (unsigned char *)rf_rx_buff.data, rf_rx_buff.len); //读出所有接收到的数据   
Send_Strobe(SFRX);              //清洗接收缓冲区   
Send_Strobe(SRX);



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top