请问通过增加DEFAULT_DESIRED_SLAVE_LATENCY来应付长任务是不是有不良后果?

你好,我的工程中有一些任务比较长。我也知道TMOS不做抢占,任务太长会影响蓝牙。同时“TMOS使用说明”也提到了:

1、         建议不要在单个任务中执行超过连接间隔一半时长的任务,否则将影响蓝牙通讯

2、         同理,在中断中建议不要执行超过连接间隔一半时长的任务,否则将影响蓝牙通讯

因此我的工程果然出现了连接中断,Connection Timeout (0x08)错误。

最好的方法应该是拆分任务,但是这样要搞一些状态机,稍微麻烦些。我看到有人是直接改了DEFAULT_DESIRED_SLAVE_LATENCY。那让主机收不到响应也不会断开连接。

image74.jpg

我看到例程里默认值是0,请问设置DEFAULT_DESIRED_SLAVE_LATENCY会不会造成什么不良后果?


不保险,而且可能挑手机,不建议这样做。
保险起见还是要做任务拆分,或者直接把连接间隔搞大一些,连接间隔最大4s.


非常感谢。我这边也发现当蓝牙刚连接的时候SLAVE_LATENCY还是0,过几秒才在peripheralParamUpdateCB变成设定值。如果在更新前启动长任务一样会断开连接。


只有登录才能回复,可以选择微信账号登录