This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc1110的接收的怪异问题



专家你好,最近在使用CC1110传输数据,为了保证数据的完整性,发射端每发送完一帧数据,接收端CRC正确后要反馈一个OK信号给发射端,发射端再继续发送下一帧数据。接收端平时处于持续的接收状态(还在测试阶段,暂时没有使用休眠唤醒)。现在遇到一个问题:我在测试距离的时候,发射机每秒发送一个数据帧,接收机收到后蜂鸣器响一下。但是当我走到没有信号的地方,折返回有型号的地方的时候,就在也收不到了。此时程序并未死机,需要断电重新上电后方可恢复正确的接收。

下面是我的程序的接收部分的结构的大概流程

 

 

void PktRcvd_fun()

{

if(CRC正确)

if(正确的数据)

{

处理数据帧

beep();

}

if(正确的数据帧)

进入TX状态,发送OK反馈;

mode=RADIO_MODE_TX;

               SetRadioMode(mode);

完成一次交互,再一次进入接收等到状态

mode=RADIO_MODE_RX;

SetRadioMode(mode);

 

 

}

main()

{

   mode=RADIO_MODE_RX;

   SetRadioMode(mode);

while(1)

{

if(RXFLAG)

{

PktRcvd_fun(); ////接收到数据包的处理函数

}

if(其他flag)

.其他处理任务

.

 

}

void RX接收中断函数()

{

}