当前位置: 首页 > news >正文

开封网站开发青海网站建设 小程序开发

开封网站开发,青海网站建设 小程序开发,网站建设 竞赛 方案,国外交互设计网站欣赏【STM32笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) 前文: blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录…

【STM32笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)

前文:
blog.csdn.net/weixin_53403301/article/details/128216064
【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录解决方案)

在这里插入图片描述
低功耗模式如图所示

停止模式有三种 分别是0 1 2
其中 0 1可以由串口唤醒
2只能由LPUART唤醒
在这里插入图片描述
在这里插入图片描述
在手册里可以查到

进入也很简单:

/*!* @brief       	进入低功耗模式   	** @param 	[in]	mode_flag: 模式标志* 								0/大于4 不进入任何模式,1 进入睡眠,2 进入停止,3 进入待机,4 关机*  				[in]	WakeUpPinPolarity: 待机模式下WKUP唤醒引脚极性配置,其他模式无用** @return				None*/
void Enter_Low_PWR(uint8_t mode_flag,uint32_t WakeUpPinPolarity)
{	__HAL_RCC_PWR_CLK_ENABLE();switch(mode_flag){case 0:{printf("[INFO] 不进入低功耗模式\n");break;}case 1:{printf("[INFO] 进入睡眠模式\n");delay_ms(10);  //消抖__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);	HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);break;}case 2:{printf("[INFO] 进入停止模式\n");delay_ms(10);  //消抖__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_SLEEPENTRY_WFI);break;}case 3:{printf("[INFO] 三秒后进入待机模式\n");delay_ms(3000);printf("[INFO] 进入待机模式\n");HAL_PWR_EnableWakeUpPin(WakeUpPinPolarity);delay_ms(10);  //消抖__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);HAL_PWR_EnterSTANDBYMode();break;}case 4:{printf("[INFO] 三秒后进入关机模式\n");delay_ms(3000);printf("[INFO] 进入关机模式\n");HAL_PWR_EnableWakeUpPin(WakeUpPinPolarity);delay_ms(10);  //消抖__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);HAL_PWREx_EnterSHUTDOWNMode();break;}default:{printf("[INFO] 不进入低功耗模式\n");break;}}
}

要进入停止2模式则需要在pwr_ex.c中配置
HAL_PWREx_EnterSTOP2Mode();函数

其中
HAL_PWR_EnterSTOPMode中的PWR_MAINREGULATOR_ON、PWR_LOWPOWERREGULATOR_ON分别是开启稳压器和关闭稳压器 分别对应STOP 0和1

所有的模式都可以用RTC唤醒
在这里插入图片描述
在这里插入图片描述
可以在手册里面找到外部中断线 所以RTC可以唤醒任一模式
在这里插入图片描述
RTC开启Internal WakeUp

在Wake Up配置中 完全不用设置(后面的语句可以直接配)
另外开启唤醒中断
在这里插入图片描述
在进入低功耗前 需要先调用RTC唤醒中断配置

HAL_RTCEx_SetWakeUpTimer_IT(&hrtc,counter,clock);

同样 退出时 要在注册的回调里面关闭中断

void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
{__HAL_RCC_PWR_CLK_ENABLE();SystemClock_Config();__HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT();	
}

打包一下就是:

/*!* @brief       	配置RTC在低功耗模式下的唤醒   	** @param 	[in]	counter: 计数值*					[in]	clock: 时钟值*					[in]	EnableNotDisable: 使能或者关闭** @return				None*/
void Ctrl_RTC_WakeUp(uint32_t counter,uint32_t clock,bool EnableNotDisable)
{	if(EnableNotDisable){HAL_RTCEx_SetWakeUpTimer_IT(&hrtc,counter,clock);}else{__HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT();	}
}

调用:

	Ctrl_UART_StopMode_WakeUp(&huart2,true);Ctrl_RTC_WakeUp(2000,RTC_WAKEUPCLOCK_RTCCLK_DIV16,true);Enter_Low_PWR(2,0);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){printf("[INFO] ADC: %f\n",Get_Real_ADC_Value(&hadc2));Count_ADXL345();Count_TMP75();TIM_Delay_ms(1000,&htim6);Ctrl_UART_StopMode_WakeUp(&huart2,true);Ctrl_RTC_WakeUp(2000,RTC_WAKEUPCLOCK_RTCCLK_DIV16,true);Enter_Low_PWR(2,0);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}
http://www.yayakq.cn/news/892133/

相关文章:

  • 手机网站电话漂浮代码合肥网站建设的公司
  • 绍兴 网站建设 电话wordpress php 中文分词 开源
  • 建设网站公司哪里好相关的热搜问题解决方案免费个人网站建站申请
  • 贵阳网站定制电话号码万网空间管理
  • 域名网站建设方案书直播代运营公司
  • 网站开发软件是什么专业北京电商app开发
  • 三亚学做网站培训推广衣服的软文
  • 没有营业执照可以做网站吗网页的分类
  • 建设银行对公打不开网站抖音推广公司
  • 应用公园制作app软件下载广州seo培训课程
  • 山东网站制作应用阜阳北京网站建设
  • 电商平台网站定制赣州网站建设案例
  • 褚橙的网站建设量化交易网站开发
  • 无锡朝阳网站推广赛盈分销平台
  • 建立个人网站的步骤有哪些企业网站建设开发公司
  • 重庆整合营销网站建设设计网站价格
  • 用vs2010做网站教程做网站的公司如何推广
  • 好公司网站建设价格低建设部网站怎么查岗位人员
  • 购物网站建设代码wordpress添加背景图
  • 网站开发技术现状怎样用模块做网站
  • 织梦免费购物网站网站内容建设的原则是什么
  • 重庆建设造价信息网站深圳网络做网站
  • 自己公司怎样做免费的网站湖南现在有什么网站做农副产品
  • 做网站的详细教程最优惠的建设网站建设
  • 网站开发 业务流程图网站域名更换
  • 电商网站建设求职定位网页设计html代码成品图片
  • 网站内容完全改变被kseo网络推广案例
  • 免费外贸网站源码百度如何精准搜索
  • 青岛网站建设网址四库一平台建造师业绩查询
  • 怎么做加盟美容院网站南京网站制作服务商