我的设备:esp32 s3 devkit(带有 esp32-s3-wroom-1)
使用示例:gatt-server
使用 ide:vscode 和 esp-idf
使用原始 gatt-server 示例。
闪烁并通过应用程序连接 ble。
当应用程序发送任何数据时,esp32 s3 成功接收数据。
案例 2.
为原来的 gatt-server 示例添加一些蓝牙调制解调器睡眠代码
代码:
全选
...
#include "esp_err.h"
#include "esp_pm.h"
sta
tic esp_pm_config_esp32s3_t pm_config =
{
.max_freq_mhz = 80, // e.g. 80, 160, 240
.min_freq_mhz = 40, // e.g. 40
.light_sleep_enable = true, // enable light sleep
};
...
void app_main(void)
{
...
```
ESP_ERROR_CHECK( esp_pm_configure(&pm_config) );
...
```
}
和设置menuconfig参考
https://github.com/espressif/esp-idf/is ... -500312453
1. 启用
电源管理
支持电源管理
2. 启用Tickless Idle:
Tickless idle support
( 3) (NEW) (100) 进入休眠模式的最小滴答次数
(100) 滴答速率 (Hz)
3. 配置外部 32.768Hz 晶振作为 RTC 时钟源:
RTC 时钟源(外部 32kHz 晶振)
4. 使用外部启用蓝牙调制解调器休眠32.768kHz 晶体作为低功耗时钟:
蓝牙调制解调器睡眠
蓝牙调制解调器睡眠模式 1
蓝牙低功耗时钟(外部 32kHz 晶体)
并将 xtal 32khz 添加到 GPIO15、16 和 12pF 电容器、5MΩ、0Ω 寄存器。
所以完成设置,我闪烁并监控终端,然后我确认调制解调器睡眠已启用(因为没有错误消息表明 xtal 32k 不存在)
但是当应用程序发送消息数据时,在终端中,显示此错误。
W (11118) BT_HCI: hcif disc complete: hdl 0x1, rsn 0x3e
此时,应用程序通知“断开连接”。
能让我知道我错过了什么吗?