- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
终端接收不了数据,协调器可以正常接收,什么原因?
录入:edatop.com 点击:
终端接收不了数据,协调器可以正常接收,什么原因?
终端设备启用低功耗,设置POLL_RATE=1000,也就是间隔1秒钟发送一包数据请求给父节点。
应用场景:当协调器点播方式连续发送3包数据给终端设备,每包数据的间隔时间为200ms;重复每间隔2秒连续发送3包数据。
发生的情况为: 终端设备送给协调器的数据正常,但是协调器点播给终端的数据到达不了终端,成为单向传输了。
这时候终端断网重新连接后恢复正常。
我尝试将POLL_RATE=200,此现象会极少发生,是否是终端设备的数据接收缓冲区满的问题?是否可以设置。
出现问题后,通过抓包工具发现终端的data request正常发送,父节点正常应答。
目前协议栈里面默认父设备给每个子设备缓存的数据最多只有3条,你发的快,取的慢会容易出问题的。
这个缓冲可以改,但是改了以后对RAM有一定的消耗。
另外200ms于1s相比还是会出现问题的。
不知道你的具体应用是什么,一定要这样做吗
请问改大缓存条数后,占用的是栈空间还是堆空间。
堆
请问在哪里改缓存数据的条数,程序的那个地方
请问在哪里改缓存数据的条数,程序的那个地方