乐鑫技术交流
直播中

1123127317

8年用户 1048经验值
擅长:制造/封装 接口/总线/驱动
私信 关注
[问答]

esp32s3当蓝牙调制解调器睡眠启用并尝试连接时,没有连接的原因?怎么处理?

我的设备: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"

static 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

此时,应用程序通知“断开连接”。

能让我知道我错过了什么吗?

更多回帖

发帖
×
20
完善资料,
赚取积分