【MiniSTM32_HAL库版本_V1.0】按下K0进入待机,按下WH_UP或闹钟唤醒代码

2024-02-10 13:38

本文主要是介绍【MiniSTM32_HAL库版本_V1.0】按下K0进入待机,按下WH_UP或闹钟唤醒代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本实验程序基于标准例程-HAL库版本ALIENTEK MINISTM32 实验11 TFT LCD液晶显示实验

引言:在正点原子提供的待机程序WKUP文件代码太复杂,对于只想实现待机功能的小白们,过于烧脑,所以在看了大量资料的前提下写出了简单的只需按下KEY0键实现待机,这个功能实现了,那么就可以写出很多关于待机的功能,例如开机3分钟进入待机等等。

实现的功能为:按下MiniSTM32开发板的KEY0进入待机模式

按下MiniSTM32的WK_UP唤醒。

注意:本实验需要在实验11 TFT LCD液晶显示实验文件里面移植KEY文件夹

本实验只需要更改main主函数的代码即可。

实验代码:

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "lcd.h"
#include "key.h"int main(void)
{ u8 key=0;HAL_Init();                    	 	//初始化HAL库    Stm32_Clock_Init(RCC_PLL_MUL9);   	//设置时钟,72Mdelay_init(72);               		//初始化延时函数uart_init(115200);					//初始化串口LED_Init();							//初始化LED	LCD_Init();KEY_Init();                          //初始化按键POINT_COLOR=RED;	  LCD_ShowString(30,40,200,24,24,"Mini STM32 ^_^");	LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK"); 					 LCD_ShowString(30,130,200,12,12,"2022/1/18");while(1){key=KEY_Scan(0);if(key==KEY0_PRES){//待机配置__HAL_RCC_APB2_FORCE_RESET();       //复位所有IO口 __HAL_RCC_PWR_CLK_ENABLE();         //使能PWR时钟__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);                  //清除Wake_UP标志HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);           //设置WKUP用于唤醒
//			HAL_PWR_EnableWakeUpPin(ENABLE);                    //设置闹钟用于唤醒 无闹钟可以注释掉HAL_PWR_EnterSTANDBYMode();                         //进入待机模式}}}

对于实验11 TFT LCD液晶显示实验其他代码不变,这样就可以在TFT LCD模块下添加待机操作。

这篇关于【MiniSTM32_HAL库版本_V1.0】按下K0进入待机,按下WH_UP或闹钟唤醒代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697241

相关文章

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

python写个唤醒睡眠电脑的脚本

《python写个唤醒睡眠电脑的脚本》这篇文章主要为大家详细介绍了如何使用python写个唤醒睡眠电脑的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 环境:win10python3.12问题描述:怎么用python写个唤醒睡眠电脑的脚本?解决方案:1.唤醒处于睡眠状