无线接收端芯片为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。