官方从机历程中,开启低功耗是通过配置宏“HAL_SLEEP”实现低功耗的开启。程序运行过程中,虽然能通过GPIO和任务调度来进行唤醒,但仍然无法正常使用定时器(配置宏“HAL_SLEEP”实现低功耗的开启,会在睡眠时关闭定时器,影响定时器精度),如何实现在程序运行过程中动态“配置宏HAL_SLEEP实现低功耗的开启和关闭”?
热门产品 :
CH641: PD及无线充电专用MCU
官方从机历程中,开启低功耗是通过配置宏“HAL_SLEEP”实现低功耗的开启。程序运行过程中,虽然能通过GPIO和任务调度来进行唤醒,但仍然无法正常使用定时器(配置宏“HAL_SLEEP”实现低功耗的开启,会在睡眠时关闭定时器,影响定时器精度),如何实现在程序运行过程中动态“配置宏HAL_SLEEP实现低功耗的开启和关闭”?
官方好,我们公司产品要求,当检测到电压波动时,就关闭睡眠模式(不是唤醒,是关闭配置宏“HAL_SLEEP”,因为睡眠模式会影响定时器,我们公司需要定时器做电压高频率的电压采集),定时20min后又开启睡眠模式
您好,宏定义无法在代码编译后修改。
针对您的应用,是否进入休眠可以在代码中动态调整。
您代码里“检测到电压波动时”,置标志变量A;在sleep.c中,CH58X_LowPower函数内一开头,添加判断标志变量A来决定是否能够继续往下执行休眠。若需要保持唤醒状态,则在CH58X_LowPower中判断标志A后直接return 3,打断休眠即可。
官方辛苦了