我正在使用带有最新固件的 RN4871 通过 I2C LED 驱动器打开多个 LED。我使用 gattlib C/C++ 库通过我的 Ubuntu (20.04) 系统与 RN4871 通信(“无响应写入”),并通过连接到我的计算机和 RN4871 的示波器测量通信延迟。我将蓝牙设备上的通信参数设置为 7.5 ms 间隔,零延迟。
问题是如果我以 500 毫秒的间隔从计算机发送命令,我的通信延迟低于 20 毫秒,这对于我的应用程序来说是完美的。但是,如果我的命令相隔 1 秒或更长时间,则延迟会上升到 250 毫秒!在我的应用程序中,我需要以最小延迟(低于 40 毫秒)进行极快的通信,当然我的命令是以可变的间隔发送的(甚至可以相隔 10 秒)。我不知道这个问题来自哪里?它是否与 RN4871 中的某些睡眠过程有关,当超过 500 毫秒或其他时间没有数据传输时发生?
谢谢!