【STM32G0】按键控制LED亮灭

news/2024/12/2 21:49:36/

目录

  • 硬件介绍
  • STM32CubeMX新建工程
  • 时钟配置
  • LED配置
    • 原理图
    • CubeMX配置
  • 按键KEY配置
    • 原理图
    • CubeMX配置
  • 生成工程
  • 添加用户代码
  • 实验现象

硬件介绍

STM32 NUCLEO-G071RB 开发板,软硬件资源详见官网介绍,主要是参考用户手册和电路图,利用STM32CubeMX图形化配置工具生成工程文件,并编写用户代码
在这里插入图片描述

STM32CubeMX新建工程

打开STM32CubeMX,安装所用MCU的工具包,再按图示步骤操作,STM32CubeMX具体使用方法可参见武汉理工大学电子科技协会B站视频教程
在这里插入图片描述
在这里插入图片描述

时钟配置

STM32G0系列内嵌高精度(±1%)RC振荡时钟,无需外部时钟,且只需一对电源供电,直接将时钟树的HCLK配置为最大64MHz即可
在这里插入图片描述

LED配置

原理图

通过阅读用户手册和原理图可知,LD4为用户LED并且连接到STM32G070的PA5引脚,输出高电平时,LD4被点亮。
在这里插入图片描述

CubeMX配置

选择GPIO,点击PA5管脚,模式为GPIO_Output,User Label输入LD4,输入User Label的好处是在main.h中会生成如下定义,方便开发

#define LD4_Pin GPIO_PIN_5
#define LD4_GPIO_Port GPIOA

在这里插入图片描述

按键KEY配置

原理图

用户按键B1通过上拉电阻R29钳位在高电平,当按键被按下时变为低电平,因此可以使用外部中断下降沿触发来检测按键
在这里插入图片描述

CubeMX配置

选择右侧GPIO,引脚不好找可在搜索框搜索PC13,单击选择GPIO_EXTI13,GPIO模式配置为下降沿触发,最后使能外部中断
在这里插入图片描述
在这里插入图片描述

生成工程

进入Project Manager,点击右侧Project输入工程名,选择开发环境MDK ARM V5(即Keil 5)
在这里插入图片描述
进入Code Generator,勾选为外设配置生成单独的.c/.h文件,最后点击右上角的生成代码即可
在这里插入图片描述

添加用户代码

打开工程,在main.c中的/* USER CODE BEGIN 4 */之后输入以下代码

/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin) 
{/* PC13为按键,按下时检测到低电平触发 */if(GPIO_Pin == GPIO_PIN_13) {/* 翻转LD4的电平,实现按键控制LED亮灭 */HAL_GPIO_TogglePin(LD4_GPIO_Port,LD4_Pin);}
}
/* USER CODE END 4 */

实验现象

编译、运行、下载后,现象如图
在这里插入图片描述


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

相关文章

STM32G4之按键实验

文章目录 前言一、按键原理二、程序编写1.按键扫描函数2.按键处理函数 总结 前言 一、按键原理 按键电路原理图(CT117E-M4产品手册) 这四个按键一端都接了VDD,所以默认高电平,当我们按下按键时,电路闭合,…

stm32g431使用CubeMX配置按键与使用

stm32g431使用CubeMX配置按键与使用 使用cubemx新建一个工程 配置八个LED的GPIO口为输出(GPIO_Output),四个按键的GPIO口为输入(GPIO_Input) 设置晶振 配置时钟 生成工程 工程生成之后在工程目录下新建这些文件夹和文件,这样方便…

【N32G457】 基于RT-Thread和N32G457的迷你键盘

此文为参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛期间作品。 由于疫情影响加上其他各种原因,本应在3月25日结束的比赛在今日终于完成了一个比较完整的作品,无论是否可以参赛,还是希望对大家有所帮助。 先放个图。 应用背景 …

【ADB】设置adb输入法

1、安装输入法apk adb -s <设备id> install keyboard.apk 2、检查是否安装成功 adb -s <设备id> shell ime set com.android.adbkeyboard/.AdbIME 当未安装adbkeyboard输入法时&#xff0c;会出现如下信息&#xff1a; Error: Unknown id: com.android.adbkeyb…

并行计算及GPU简介

并行计算&#xff08;Parallel Computing&#xff09;指同时使用多种计算资源解决计算问题的过程&#xff0c;它的基本思想是将待求解问题分解成多个子问题&#xff0c;在相同的时间用不同的处理器计算各个子问题&#xff0c;从而有效地节约计算的时间。早期的并行计算只能由专…

什么是GPU计算?阿里云国际版有没有GPU计算?-Unirech

GPU计算是指使用GPU&#xff08;图形处理单元&#xff09;作为协处理器来加速CPU&#xff0c;以加速科学、分析、工程、消费者和企业应用程序的运行。GPU加速器由NVIDIA于2007年首次推出&#xff0c;现在已经支持了世界各地的政府实验室、大学、公司和中小企业的节能数据中心。…

在数据科学领域,为什么GPU计算速度比CPU快许多的一个最简单解释

为了回答这个问题&#xff0c;我们需要知道几个知识&#xff1a; 1、一个CPU通常只有 几个核 2、一个GPU通常有 几千个核 (为了容易理解&#xff0c;暂且可以把CPU的核和GPU的核看成是同一个东西) 3、通常&#xff0c;CPU的核 性能比GPU的核 性能要强得多 4、标题说到是在数…

Pytorch入门(5)—— 使用 GPU 进行计算

参考&#xff1a;动手学深度学习注意&#xff1a;由于本文是jupyter文档转换来的&#xff0c;代码不一定可以直接运行&#xff0c;有些注释是jupyter给出的交互结果&#xff0c;而非运行结果!! 文章目录 1. 计算设备2. Tensor 的 GPU 计算3. Module 的 GPU 计算 1. 计算设备 打…