对WOR模式的数据包格式有点疑惑,在网页参考中,看到采用格式如下:

然而有两个小问题:
1.当 RF_cmdPropTxAdv.pktLen = PAYLOAD_LENGTH +1; packet[0] = PAYLOAD_LENGTH;
对packetLength = *(uint8_t*)(¤tDataEntry->data);进行打印,打印结果是30而不是31,
这个该如何解释?
2.然而当我把 packet[0] = PAYLOAD_LENGTH;改为 packet[0] = PAYLOAD_LENGTH-1;后,
接收端就接收不到数据了, 这是怎么回事?按说这个字节长度元素是几不会导致接收失败吧?
Hopefully someone can advise. Thanks!
user4959119:
求解。。。。
Viki Shi:
如果包含length byte,CRC校验会通过length byte,address以及 the payload. length byte对不上会导致CRC校验失败
user4959119:
回复 Viki Shi:
If pktConf.bVarLen is 1, a length byte equal to the value of pktLen is sent next. After this, the content of the buffer pointed to by pPkt is sent.
按照手册的描述,lenth byte 不是由pktlen参数填充吗?我的pktlen = 31没变,我只不过是改变了packet[0]的值,难道lenth byte 得放在payload第一个字节里面发送?手册里貌似不是这意思。。。
TI中文支持网
