微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1101读RXBYTES问题

CC1101读RXBYTES问题

时间:12-23 整理:3721RD 点击:

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);

楼主你是如何解决的代码参考一下吧,1024475985@qq.com

我做的一发一收两个通信,最初还能正常接收和发送,数据都正常,最近出现了每一次读RXBYTES都为0,芯片换了四五个,都是这个原因。

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

网站地图

Top