我们在使用CC2540的过程中,如果执行某个事件时在事件中加入一个50ms以上的延时,则连接一定会断开。造成这个的原因是我们加的延时大于了interval的时长吗?
如果是,那么我的事件执行过程是不是也必须要小于50ms?
如果不是,请问是什么原因造成的这种现象?
非常感谢!
甜甜的大香瓜:
蓝牙通信跟你打电话是一样的:假设你跟朋友打电话,互相说话的间隔是3秒一句话,超过30秒无人接听就会挂断。
此时如果你突然离开1分钟去上厕所,给你打电话的人必然会挂断电话。
因为你的上厕所时间超过了对方愿意等待的时间。
反过来看CC2540,你的蓝牙通信会断开,说明你的事件处理时间已经超过了“连接间隔+超时时间”。
你要么缩小事件处理时间,要么增大“连接间隔+超时时间”
Lynn Wang:
回复 甜甜的大香瓜:
谢谢你的答案。超时时间在哪里设置,之前从来没有注意过这个时间,一般只注意interval时间。
甜甜的大香瓜:
回复 Lynn Wang:
几个重要的参数时间都放在一起。
详情看我个性签名档的《CC2541之连接参数》。
Lynn Wang:
回复 甜甜的大香瓜:
你好,
我们现在的Supervision Timeout是10s,所以应该不是这个问题导致的,interval时间是默认的。还有其他可能的原因吗?谢谢!