请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LAUNCHXL-CC1352P 主题中讨论的其他器件:CC1352P、 CC1310
您好!
在将我们的一个应用从 CC1310/SDK v4.2移植到 CC1352P/SDK v7.1的过程中、我注意到同一应用消耗的基线电流为~μ A 1mA。 最终会跟踪电流消耗、并将其向下发送至有源计时器。 我们使用以下代码通过 GPIO 向外部 MCU 发送检测信号。
void hbTimerInit()
{
Timer_Handle hbCbTimerHandle;
Timer_Params hbCbTimerParams;
// Called in main()
//Timer_init();
/* Configure the heart beat pin */
GPIO_setConfig(CONFIG_GPIO_HEART_BEAT, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
GPIO_write(CONFIG_GPIO_HEART_BEAT, 1);
/*
* Setting up the timer in continuous callback mode that calls the callback
* function every 1,000,000 microseconds, or 1 second.
*/
Timer_Params_init(&hbCbTimerParams);
hbCbTimerParams.period = 1000000;
hbCbTimerParams.periodUnits = Timer_PERIOD_US;
hbCbTimerParams.timerMode = Timer_CONTINUOUS_CALLBACK;
hbCbTimerParams.timerCallback = hbTimerCallback;
hbCbTimerHandle = Timer_open(CONFIG_TIMER_HEART_BEAT, &hbCbTimerParams);
// Not starting timer gets rid of baseline 1mA current draw
if (Timer_start(hbCbTimerHandle) == Timer_STATUS_ERROR) {
// do something
}
}
static void hbTimerCallback(Timer_Handle hbCbTimerHandle, int_fast16_t status)
{
// Commented out to rule out current draw by GPIO
//GPIO_toggle(CONFIG_GPIO_HEART_BEAT);
}
如果我们未注释掉代码中所示的行来启动计时器、则基准1mA 电流绘制消失。 基于 SDK v4.2的应用中的相同代码不会消耗此类电流。
我们是否应该以不同的方式使用计时器基于 v7 SDK 的应用?
提前感谢、
ZL
