主题中讨论的其他器件:CC2340R5
工具/软件:
您好、
目前、我们在工程中使用 CC2340R5、并使用基本 BLE SDK 代码测试器件的睡眠性能。
我们正在使用 Monsoon 提供的“HV Power Monitor“工具来测量电流消耗。
我们观察到、当器件既不广播也不扫描时、平均功耗在 20uA-25uA 范围内。 这对于我们的用例来说已经足够了。
但是、当我们启用 1.8mA 外设时、问题就会出现、当启用 UART 外设时、我们可以看到器件不会进入待机模式、并且电流消耗平均介于 UART –2.0mA(电流非常高)之间。
UART 配置的默认值如下所示:
1.波特率:115200
2.数据方向:发送和接收
3、中断优先级:3-最低优先级
用于初始化 UART 外设的代码片段:
UART2_Handle uart;
uint8_t TestBuffer[32];
UART2_Params uartParams;
int32_t semStatus;
uint32_t status = UART2_STATUS_SUCCESS;
/* Call driver init functions */
GPIO_init();
/* Create semaphore */
semStatus = sem_init(&sem, 0, 0);
if (semStatus != 0)
{
/* Error creating semaphore */
while (1) {}
}
/* Create a UART in CALLBACK read mode */
UART2_Params_init(&uartParams);
uartParams.readMode = UART2_Mode_CALLBACK;
uartParams.readCallback = callbackFxn;
uartParams.baudRate = 115200;
uartParams.readReturnMode = UART2_ReadReturnMode_PARTIAL;
uart = UART2_open(CONFIG_UART2_0, &uartParams);
if (uart == NULL)
{
/* UART2_open() failed */
while (1) {}
}
在一个单独的任务中、我们在 RX 线上进行读取、如下所示:
UART2_READ (UART、TestBuffer、sizeof (TestBuffer)、NULL);
注意:“TestBuffer"和“和“UART"是“是全局变量。
请帮助我们解决这个问题、这是预期行为吗? 请建议相同的解决方案。
PFA、请在下面找到电流消耗计算的快照。

扫描时、

请注意、我们已获取 basic_ble SDK 代码并将配置更改为 central。
下面附上了 syscfg 中更改的字段的屏幕截图。

使用的 SDK 是最新的、