终端接收不了数据,协调器可以正常接收,什么原因?

2019-07-18 14:35发布

终端接收不了数据,协调器可以正常接收,什么原因?
终端设备启用低功耗,设置POLL_RATE=1000,也就是间隔1秒钟发送一包数据请求给父节点。
应用场景:当协调器点播方式连续发送3包数据给终端设备,每包数据的间隔时间为200ms;重复每间隔2秒连续发送3包数据。
发生的情况为: 终端设备送给协调器的数据正常,但是协调器点播给终端的数据到达不了终端,成为单向传输了。
这时候终端断网重新连接后恢复正常。
我尝试将POLL_RATE=200,此现象会极少发生,是否是终端设备的数据接收缓冲区满的问题?是否可以设置。
出现问题后,通过抓包工具发现终端的data request正常发送,父节点正常应答。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
广电总局
1楼-- · 2019-07-18 15:32
目前协议栈里面默认父设备给每个子设备缓存的数据最多只有3条,你发的快,取的慢会容易出问题的。

这个缓冲可以改,但是改了以后对RAM有一定的消耗。

另外200ms于1s相比还是会出现问题的。

不知道你的具体应用是什么,一定要这样做吗
djelje
2楼-- · 2019-07-18 17:21
请问改大缓存条数后,占用的是栈空间还是堆空间。
广电总局
3楼-- · 2019-07-18 21:24
djelje 发表于 2016-3-31 09:48
请问改大缓存条数后,占用的是栈空间还是堆空间。

zplll
4楼-- · 2019-07-18 21:48
广电总局 发表于 2016-3-31 09:48
目前协议栈里面默认父设备给每个子设备缓存的数据最多只有3条,你发的快,取的慢会容易出问题的。

这个缓冲可以改,但是改了以后对RAM有一定的消耗。

请问在哪里改缓存数据的条数,程序的那个地方
zplll
5楼-- · 2019-07-18 22:55
 精彩回答 2  元偷偷看……

一周热门 更多>