STM32G431之点灯和按键配置

news/2024/12/2 16:56:55/

STM32G431之点灯和按键配置

1.硬件接口

  STM32G431开发板有一个用户按钮和LED灯
  根据原理图,LD2和PA5相连,想要点亮LED则PA5应该为高电平。
在这里插入图片描述
  用户按键B1和PC13相连,按下为高电平;
在这里插入图片描述

2.软件设计

2.1 芯片型号选择

  本示例所使用芯片型号为:STM32G431RBT6;128KB flash 和32KB SRAM,工作频率高达170MHz。
在这里插入图片描述

2.2 时钟配置

在这里插入图片描述
在这里插入图片描述

2.3 GPIO配置

在这里插入图片描述
在这里插入图片描述

2.4 生成代码

在这里插入图片描述
在这里插入图片描述

2.5 LED和按钮引脚配置

在这里插入图片描述

2.6 获取按键值函数编写

/*获取按键值*/
uint8_t Get_KeyVal(void)
{uint8_t static stat=0;if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==1 && stat==0)//判断按键是否按下{HAL_Delay(20);//延时消抖stat=1;if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin))return 1;}else if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==0){stat=0;}return 0;
}

2.7 主函数

  uint8_t key;/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */key=Get_KeyVal();if(key){HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);}}

在这里插入图片描述
在这里插入图片描述
  开发板本身集成ST_Link下载器,只需安装ST_Link驱动即可直接下载。


http://www.ppmy.cn/news/307049.html

相关文章

【初识NUCLEO-STM32G0B1RE】

初识NUCLEO-STM32G0B1RE 最近入手了一块NUCLE-G0B1RE ST的开发版,看了一下相关开发板资料网上好像也挺少的只有官网有比较完整的数据手册和原理图这些,值得开心的一点的STM32G0的使用和STM32F1相似,在进行编程时也有一种熟悉感。同样也会一步…

计算机能运行超过内存的程序么,如果电脑使用内存超过32G那是种怎样的体验?...

这里首先说明一点,电脑的内存主要是搭配CPU才能完成各类数据的运算,程序也都是通过CPU来分配和处理的,所有电脑的内存不是越大就越好。 CPU相当于计算机的“大脑”,而内存相当于大脑的“办公桌”。 CPU需要处理大量的计算数据。它…

【STM32G0-HAL库串口控制】

STM32G0-HAL库串口控制 今天分享的是基于HAL库进行串口的配置输出以及重定位实现,使用的开发板是STM32G0B1RE,和F1系列的芯片使用方法是一模一样的。 一、打开CubeMX进行工程配置 这里使用的是串口2 具体的操作步骤就不重复了,就介绍一些关键…

STM32G431——按键的三行代码(长按、短按、单击、双击)

按键的三行代码(长按、短按、单击、双击) 按键的三行代码按键的长按、短按按键的单击、双击 按键的三行代码 key_value KEY_Scan(); //读取按键的键值 key_up ~key_value & (key_old ^ key_value); //按键的上升沿检测 只在按键抬起的瞬间有效 其他时刻都为零…

分析STM32G0 SPI外设不能触发RXNE接收标志的原因

今天准备移植STM32F030R8T6的程序到STM32G030C8T6上,程序中用到了硬件SPI外设,因为STM32G0用的HALLL库而不是不是标准库,所以我用STM32Cube MX生成了SPI的LL库代码,但是使能SPI后发现硬件怎么都不能触发RXNE接收标志,生…

为什么JVM不建议超过32G内存

在学习ES发现JVM内存不要超过32G的建议,故查找了一下原因。 java -Xmx32766m -Xms32766m -XX:PrintFlagsFinal 2> /dev/null | grep UseCompressedOops bool UseCompressedOops : true {lp64_product}查…

<STC32G12K128入门第五节>Time定时器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、timer是什么?二、相关寄存器1.2. THx & TLx3.案例总结前言 今天无聊的搞了一下stc32G12k128的timer定时器 一、timer是什么? 这里就是我们使用的开发板上面的timer资源 二、相关寄…

32g服务器做成虚拟,服务器32g内存 tomcat设置多大

服务器32g内存 tomcat设置多大 内容精选 换一换 目的调整系统配置选项,充分发挥系统硬件性能。调整系统配置选项,充分发挥系统硬件性能。方法具体优化项详见表1。OS配置参数参数名称参数含义优化建议配置方法vm.swappinessswap为系统虚拟内存,使用虚拟内存会导致性能下降,应…