之前使用 ESP32 S2 实现过蓝牙键盘的功能,使用的是 https://github.com/T-vK/ESP32-BLE-Keyboard 提供的 ESP32 BLE Keyboard库。前几天在 Arduino 中实验针对 S3 的编译,这个库能够通过编译,但是运行之后会有不断重启的问题。经过搜索在 https://github.com/T-vK/ESP32-BLE-Keyboard/issues/152 找到了解决方法;
BLESecurity* pSecurity = new BLESecurity();
pSecurity->setAuthenticationMode(ESP_LE_AUTH_REQ_SC_MITM_BOND);
to
BLESecurity *pSecurity = new BLESecurity();
pSecurity->setAuthenticationMode(ESP_LE_AUTH_BOND);
修改之后确实能够解决问题。估计一段时间之后这个修改会 Check in 到代码中吧。