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.

SMPL_Receive函数接收到一帧后就一直返回SMPL_NO_FRAME

Other Parts Discussed in Thread: CC430F5137, CC430F6137

无线接收端芯片为CC430F5137,无线发送端芯片为CC430F6137,现在想通过5137把无线发送过来的数据通过UART串口上传给上位机,但是在接收了一帧之后,SMPL_Receive函数就一直返回SMPL_NO_FRAME。

部分程序:

if (SMPL_SUCCESS == SMPL_Receive(linkID0, ed_data, &len))
{
if (len == 4)

step = ed_data[1] * 255 * 255 + ed_data[2] * 255 + ed_data[3];
ShowDigit(step);
}

请问为什么之后一直返回SMPL_NO_FRAME?就算人为的等待串口发送完毕,再往后也返回NO_FRAME。

是RX FIFO出了问题吗?如果不加入串口发送程序,每次都能返回SMPL_SUCCESS。

我看协议底层文件nwk_QMgmt里有一个函数是去找oldest available frame,这个寻找的最老的可用数据帧是指哪一帧,指向的是这个帧的包头还是包尾?

通过仿真器逐步跑程序,发现的就是*nwk_QfindOldest函数返回了0,导致nwk_retrieveFrame函数返回SMPL_NO_FRAME。