STM32CubeMx学习笔记——GPIO使用

news2024/11/13 9:17:04

 一、新建工程

1、选择芯片型号

2、配置时钟RCC

选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

3、时钟树配置

在clock Configuration中将HCLK配置为最高频率然后回车

4、选择调试模式

SYS 设置,选择 Debug 为 Serial Wire

Timebase Source时钟源可以选择SysTick

 二、GPIO输出

2.1参数配置

点击引脚选择GPIO_Output,再点击GPIO里的引脚,进行配置

2.2生成代码 

每个外设生成独立的 ’.c/.h’ 文件
不勾:所有初始化代码都生成在 main.c
勾选:初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。如下:

 

最后点击右上角的GENERATE CODE 。

点亮LED

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
 
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  	GPIO_SetBits(LED_GPIO_PORT, LED1_GPIO_PIN); // 输出高电平
  	HAL_Delay(1000);							// 1秒
	GPIO_ResetBits(LED_GPIO_PORT, LED1_GPIO_PIN); // 输出低电平
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 三、GPIO输入

3.1 参数配置

在 System Core 中选择 GPIO 设置。

在右边图中找到按键对应引脚,选择 GPIO_Input

生成代码同上面的GPIO输出的操作一样。

示例:读取引脚电平

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */
  uint8_t status = 0;
  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
 
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  	// 可以加打印看'status'数值判断高低电平
  	status = HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin); // 读取按键状态
  	HAL_Delay(1000);							// 1秒
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

四、注意事项 

 用户代码要加在 USER CODE BEGIN N 和 USER CODE END N 之间,否则下次使用 STM32CubeMX 重新生成代码后,会被删除。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2121076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iOS开发者新技能:将Flutter集成到你的原生应用中

如何在iOS原生项目中嵌入Flutter 一、创建一个新的iOS项目 首先,在 Xcode 中创建一个新的 iOS 项目,选择 Swift 作为开发语言,因为它的语法简洁,易于理解。 二、打包Flutter项目 在将 Flutter 模块集成到 iOS 项目之前&#xf…

Windows conda常用方法

这里写目录标题 conda链接jupyter conda链接jupyter 列出当前所有环境: conda env list 创建新环境: conda create -n your_env_name pythonX.X(2.7、3.6、3.8等) 激活环境: conda activate your_env_name 链接jupyte…

大模型微调有必要做吗?LoRa还是RAG?

我需要对大模型做微调吗? 想自定义大模型时,选择:微调还是RAG还是ICL? 需要对大模型做微调? 在人工智能的世界里,大型语言模型(LLM)已经成为了我们探索未知、解决问题的得力助手。…

uniapp业务实现

uni.requset添加异常判断提示,以及加载动画 /*** 该函数用于发送网络请求获取数据* 请求失败时会弹出相应的错误提示* 请求成功时会检查返回的数据是否存在错误,并根据错误代码做出相应处理* 如果数据请求成功且无错误,则将返回的数据赋值给pets变量*/fu…

NVIDIA Triton Inference Server 部署 yolov5

文章目录 一、拉取 tensorrt 、yolov5、tritonserver 镜像二、下载 yolov5-6.2、tensorrtx/yolov5-6.2源码三、pt转wts四、wts转engine五、创建triton推理服务器六、创建客户端进行测试 一、拉取 tensorrt 、yolov5、tritonserver 镜像 docker pull hakuyyf/tensorrtx:trt8.2_…

群晖NAS本地部署Photopea在线图片PS编辑工具

文章目录 前言1. 部署Photopea2. 运行Photopea3. 群晖安装Cpolar4. 配置公网地址5. 公网访问测试6. 固定公网地址 前言 本文主要介绍如何在群晖NAS本地部署Photopea在线图片PS编辑工具,并结合cpolar内网穿透实现公网环境远程访问本地部署的Photopea处理图片. Phot…

JAVA开源项目 员工绩效考核系统 计算机毕业设计

本文项目编号 T 021 ,文末自助获取源码 \color{red}{T021,文末自助获取源码} T021,文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例分析 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行…

梧桐数据库|中秋节活动·抽奖领取大闸蟹

有话说 众所周不知,我的工作就是做一个国产的数据库产品—中国移动梧桐数据库(简称WuTongDB)。 近期我们举办了一次小活动,来提升梧桐数据库的搜索量和知名度,欢迎大家来参加,免费抽奖领取大闸蟹哦~~~ 具…

AIGC入门:Comfyui整合包,解压即用!

前言 今天给大家分享的Comfyui的整合包,无需复杂的操作,解压即可使用。 整合包已经打包好了,获取方式放在👇,需要的朋友可以自行领取哦。 什么是Comfyui ComfyUI采用节点式的操作方式,这种方式让用户能…

有哪些好用的终端行为审计系统?

终端行为审计软件是用于监控、记录和分析计算机终端操作行为的工具,它们对于提高企业信息安全管理、防止内部数据泄露和提升内控水平至关重要。 1. 金刚钻信息网站行为审计系统:通过细粒化审计终端用户行为,提供文件操作日志、文件外发日志、…

WRF-LES与PALM微尺度气象大涡模拟、PALM静态数据预备、PALM驱动数据预报、PALM模拟

查看原文>>>WRF-LES与PALM微尺度气象大涡模拟及ChatGPT在大气科学领域应用 针对微尺度气象的复杂性,大涡模拟(LES)提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟,这些过程往往与天气…

2024年身份验证技术应用的10大发展趋势

文章目录 前言一、无密码身份验证1、流行的无密码身份验证方法二、基于行为的身份识别技术1、主流的行为身份识别技术三、社交媒体授权登录1、应用社交媒体授权登录的好处四、去中心化身份验证1、去中心化身份验证的主要功能和优点五、自适应身份验证六、身份威胁检测和响应(I…

远程搜索:remote-method

为了启用远程搜索,需要将filterable和remote设置为true,同时传入一个remote-method。remote-method为一个Function,它会在输入值发生变化时调用,参数为当前输入值。需要注意的是,如果el-option是通过v-for指令渲染出来…

吐血整理nacos 作为springcloud的配置中心和注册中心

吐血整理nacos 作为配置中心和注册中心 环境版本nacos 版本 nacos启动单机模式启动配置数据库 Spring cloud 连接注册Nacos配置中心导入依赖 注册中心 环境版本 SpringBoot版本SpringCloud版本cloud Alibaba版本2.6.132021.0.52021.0.5.0 参照依据 spring-cloud-alibab 对应…

公众号赠书给您,祝您教师节快乐!

在此教师节即将来临之际,《人工智能怎么学》公众号恭祝各位老师们节日快乐! 为了对各位老师表示最崇高的敬意,特开展教师节赠书活动。您只需要在9月15号22点前扫描下方二维码填写登记表,前5位登记的老师,每人均可获赠…

关于网卡用一会就无法使用的处理

1、背景 使用ubuntu 18操作系统,部署的.net 6的数采程序,使用嵌入式边缘计算终端,有一个网口,一个 wifi,一个中兴随身WIFI。数据程序通过网口与三菱Q系例PLC的转换器网口通讯,采集频率每60秒读一次PLC的点位…

DFS算法专题(二)——穷举vs暴搜vs深搜vs回溯vs剪枝【OF决策树】

目录 1、决策树 2、算法实战应用【leetcode】 2.1 题一:全排列 2.2.1 算法原理 2.2.2 算法代码 2.2 题二:子集 2.2.1 算法原理【策略一】 2.2.2 算法代码【策略一】 2.2.3 算法原理【策略二,推荐】 2.2.4 算法代码【策略二&#x…

【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)

​​​​​​​ 目录 一、引言 二、表格问答(table-question-answering) 2.1 概述 2.2 基于BERT的表格问答模型—TAPAS(TAble PArSing) 2.3 应用场景​​​​​​​ 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4…

mysql 限制用户登录次数超过3次就 锁定账户在一段时间内不运行操作

这里是引用 主要实现步骤: 1.目测安装的mysql版本得是5.7.40往上,因为我的版本是5.7.14发现里面没有控制等下限制这个插件,插件具体的查看是在你安装目录下的lib/pugin下面 比如我的:C:\zz\ProgramFiles\MySQL\MySQL Server 5.7\l…

【VSCode扩展】通义灵码运行提示“此应用无法在你的电脑上运行”

🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回&#…