Other Parts Discussed in Thread: CC2745R10-Q1
器件型号: CC2745R10-Q1
您好的团队、
我正在使用 CC2745R10 器件、并 在 DIO17 上使用 GPIO 中断来实现具有唤醒功能的关断模式。
上电复位 (POR) 后、第一个关断/唤醒周期正常工作。 但是、在器件从关断状态唤醒后、每次后续进入关断状态的尝试都会失败。 即使没有生成 GPIO 中断、器件也会立即重新启动或自动唤醒、而不是保持关断状态。
我已经验证了以下内容:
-
GPIO 初始化
GPIO_setConfig(INT_Pin,
GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING);
GPIO_setCallback(INT_Pin, gpioButtonFxn0);
GPIO_enableInt(INT_Pin);
通过此配置、正常运行期间、会在每个下降沿正确生成 GPIO 中断。
-
关断功能
void Fob_Shutdown_state(void)
{
/* Ensure wake pin is truly idle HIGH */
if (GPIO_read(Mot_Det) == 1U)
{
GPIO_setConfig(INT_Pin,
GPIO_CFG_IN_PU | GPIO_CFG_SHUTDOWN_WAKE_LOW);
Power_shutdown(0, 0);
}
}
在调用之前 Power_shutdown(),我总是使用验证 GPIO 级别是否为高 GPIO_read(),并且它始终读为高。
观察到的行为
-
上电复位后:
-
首次关断→ 正常工作
-
GPIO 中断会唤醒器件→ 正常工作
-
-
从关断状态唤醒后:
-
Power_shutdown()再次调用不会使设备保持关机状态。 -
在没有任何 GPIO 中断或外部触发的情况下、器件会立即重新启动或自动唤醒。
-
它的格式
-
器件: CC2745R10
-
唤醒 GPIO: DIO17
-
唤醒配置:
GPIO_CFG_SHUTDOWN_WAKE_LOW -
中断配置:下降沿
-
启用内部上拉。
-
在进入关断模式之前、唤醒引脚确认为高电平。
您能否告知从关断模式唤醒后是否需要任何额外的 GPIO 重新初始化、中断清除或电源管理器配置? 此外、 Power_shutdown() 在 CC2745R10 上重复使用 GPIO 唤醒时、是否有任何已知的限制或建议顺序?
非常感谢任何演示使用 GPIO 唤醒源实现多个关断/唤醒周期的指导或示例。
