TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2530的接收和发送数据的问题…很奇怪的问题

两个cc2530模块,一个做协调器,一个做终端。连接后,协调器向终端发送数据,终端收到后返回。协调器通过串口连接电脑打印一些信息出来。

协调器发送和接收的数据次数,终端发送和接收数据的次数,都有进行计数,而且每一帧数据都有做校验。

奇怪的是,终端收到数据的计数值,比协调器发送的计数值大。协调器收到的数据的计数值,也比终端返回的数据的计数值大。

如果考虑丢包,不是都应该是接收比发送少吗?

怎么都想不通,向大神求教。谢谢了。

TT LEE:

本来是想用这种方法测试丢包率,结果测出来的都没有丢包了,接收率都大于1了。。困惑。。。

yongjie fu1:

回复 TT LEE:

重发了吧

TT LEE:

回复 yongjie fu1:

谢谢您的回答。

我发现也有可能重发了。我有抓包,如附件图所示

协调器(地址0x0000),下发给终端(地址0xE9F5),好像没有收到ACK,会接着再发一次。其实这时我的应用层只发了一次。还有重发那一次,发给了地址0xFFFF。

终端(地址0xE9F5)返回就也会返回两次。

这好像是我接收计数大于发送计数的原因。

请各位高手,确认下是不是这个原因,还有协调器为什么会发给那个0xFFFF。是不是没有收到ACK就会重发?

另外,请问有没有什么好的方法测丢包率。谢谢了。

user5283978:

回复 TT LEE:

想请问下你怎么测试丢包率的呢?我最近也遇到了这个问题,因为他有丢包重传的机制。我不知道该如何测试他的丢包率,还望能得到你的指导。我的qq:1554132701

YiKai Chen:

回复 user5283978:

测试丢包率可以丟出1000個包之後去統計收到的數量

user5283978:

回复 YiKai Chen:

那样统计的数量十有八九会超过1000个,而且需要把时序弄好,很容易出问题。

YiKai Chen:

回复 user5283978:

丟出1000個包之後统计的数量十有八九会超过1000个?多出來的哪來的?

user5283978:

回复 YiKai Chen:

协议栈有丢包重传机制啊,如果没有收到ack确认就会重传8次,所以会超过1000个啊。

YiKai Chen:

回复 user5283978:

如果你是這樣計算就把重试的也算進去

赞(0)
未经允许不得转载:TI中文支持网 » cc2530的接收和发送数据的问题…很奇怪的问题
分享到: 更多 (0)