我们有一个相当基本的定制电路板、其中包含 CC2640R2LRGZR、还提供了一些按钮和开关。 我们没有使用任何 BLE 或无线功能。 我们只是想使用待机模式、并在其中一个按钮/开关改变状态时唤醒。
作为测试、我们尝试了使用 pinStandby 示例项目-我们唯一更改的是 BoardGpioInitTable、用于将所有引脚(IOID_0至 IOID_30)设置为低输出(PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PushPULL)并将 mainThread 修改为以下引脚、因为我们没有任何 LED:
void *mainThread(void *arg0)
{
while(1) {
/* Sleep, to let the power policy transition the device to standby */
sleep(standbyDuration);
}
}
当我们测量它的电流消耗时、大约为850uA。 查看数据表、它应该在1uA 左右!
为了查看是否还有其他因素导致了较高的电流、我们决定尝试将器件置于关断模式。 我们将 mainThread 更改为以下内容:
void *mainThread(void *arg0)
{
Power_shutdown(0, 0);
}
当我们测量它的电流消耗时、大约为145nA、这与数据表中的预期值相匹配。
器件似乎没有真正进入待机模式或其他模式。 这可能是什么原因造成的?
作为参考、我们使用 JLink 对电路板进行编程、然后断开 JLink、 复位电路板、再测量电流。
谢谢。
大卫