我在使用蓝牙串口发送几帧数据给手机app然后app返回给蓝牙串口的过程中,会出现第一帧数据从发出到蓝牙串口收到中间会有一个很大的延迟(约400ms),后边的几帧数据延时约(30ms),我分析了一下:问题应该是出现在进入蓝牙回调任务上了,我用app直接给esp32发数据,能感觉到进入ESP_SPP_DATA_IND_EVT 事件有明显的延迟,改怎么优化?
离线
好吧,今天我来结贴了:) 首先说一下我的应用场景:我们的设备通过串口把数据给ESP32,ESP32的蓝牙模块再把数据给我们的app,app对数据处理后在返回给ESP32,然后在传递给我们的设备。之前的问题就是完成一次这样的回路通信数据从发出到接收到有很大的延时,而我们后边使用K线通信的话这样的延时是不允许的。 在乐鑫技术支持的帮助下,一步步排查了问题,解决方法是在 components/bt/bluedroid/stack/include/stack/hcidefs.h 中关闭 HCI_SNIFF_MODE_SUPPORTED 选项。经测试延时从之前的(400ms-800ms)缩短到(40ms左右)在此感谢乐鑫的技术人员:)
离线