西安网站制作设计找哪家,网络广告推广平台,软件开发制作的公司,重庆建筑人员证书查询一、简介 主控是STM32G070#xff0c;在低功耗休眠模式时采用Stop0模式#xff0c;通过外部中断唤醒#xff0c;唤醒之后#xff0c;即可开启对应的功能输出#xff0c;另外程序中设计有看门狗8S溢出#xff0c;这个采用RTC定时6S周期唤醒去喂狗#xff0c;RTC唤醒喂狗的…一、简介 主控是STM32G070在低功耗休眠模式时采用Stop0模式通过外部中断唤醒唤醒之后即可开启对应的功能输出另外程序中设计有看门狗8S溢出这个采用RTC定时6S周期唤醒去喂狗RTC唤醒喂狗的过程中设备现象上看不出来。 该MCU Stop模式休眠功耗如下 该MCU唤醒源如下 二、配置过程 1.RTC周期唤醒配置 2.外部中断唤醒配置 3.看门狗配置 三、生成代码 1.STOP0休眠模式
//STOP0休眠模式
LL_PWR_SetPowerMode(LL_PWR_MODE_STOP0);
LL_LPM_EnableDeepSleep();
__WFI(); 2.RTC周期唤醒外部中断唤醒
//RTC唤醒回调函数 6S唤醒一次
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
{g_stuSleepDataHandle.b_u8RtcWakeUpFlag 1;HAL_IWDG_Refresh(hiwdg);
} //外部中断回调函数
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{if((GPIO_Pin POW_WKUP_KEY_Pin) || (GPIO_Pin PV_IN_WKUP_Pin)){
// HAL_GPIO_TogglePin(SOC_LED4_GPIO_Port, SOC_LED4_Pin); //调试g_stuSleepDataHandle.b_u8ExtiIntWakeUpFlag 1;}
}void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin)
{if((GPIO_Pin USB_WKUP_Pin) || (GPIO_Pin IP2366_INT_WKUP_Pin)){
// HAL_GPIO_TogglePin(SOC_LED4_GPIO_Port, SOC_LED4_Pin); //调试g_stuSleepDataHandle.b_u8ExtiIntWakeUpFlag 1;}
}
四、注意避坑 1.进入休眠之前I/O电平根据电路设置以降低休眠时硬件功耗 2.进入休眠之前所有计时及标志位清零 3.唤醒之后重新初始化一次系统时钟 4.RTC唤醒时不执行功能输出