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.

我测试simplicity,接收端总是会判断溢出,为什么?



硬件平台,SmartRF05 EB+CC1110EM 2.0

软件环境:CC1110 Simple_Peer_To_Peer 例程

已经移植可以运行,但是接收端能够接收到整个数据包,但是总是进入overflow状态。描述如下:

发送端跟踪发现发送数据包为

接收端跟踪能够接收到数据包为

可以看到接收端也能接收到数据包,但是在mrfi_radio.c的927行的接收中断函数中,总是判断overflow,结果,接收到的数据就被丢弃掉,上层也就一直无法建立连接。

/* Check for overflow */
if ((RFIF & IRQ_DONE) && (RFIF & IRQ_RXOVFL))
{
RFIF = ~IRQ_DONE;
RFIF = ~IRQ_RXOVFL;
S1CON = 0; /* Clear MCU interrupt flag */

/* Only way out of this is to go to IDLE state */
Mrfi_RxModeOff();

/* zero-out MRFI buffer to help NWK eliminate undetected rogue frames if they pass here */
memset(mrfiIncomingPacket.frame, 0x00, sizeof(mrfiIncomingPacket.frame));

/* OK to start again... */
Mrfi_RxModeOn();

__bsp_RESTORE_ISTATE__(istate);

return;
}