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

STM32F108C8T6小白入门特训营__1.4GPIO.C 代码分析

目录

1.只需要搞明白 cubemx 跟 代码对应关系就可以了

2.GPIO.C 代码加上注释

3.注意引脚的宏定义


1.只需要搞明白 cubemx 跟 代码对应关系就可以了

2.GPIO.C 代码加上注释

读懂注释部分代码即可

/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file gpio.c * @brief This file provides code for the configuration * of all used GPIO pins. ****************************************************************************** * @attention * * Copyright (c) 2026 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "gpio.h" /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ /*----------------------------------------------------------------------------*/ /* Configure GPIO */ /*----------------------------------------------------------------------------*/ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /** Configure pins as * Analog * Input * Output * EVENT_OUT * EXTI */ void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; // 定义 GPIO 初始化结构体变量,并初始化为 0 /* GPIO Ports Clock Enable */ /* GPIO 端口时钟使能 */ __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin Output Level *//* 配置 GPIO 引脚的初始输出电平 */ HAL_GPIO_WritePin(Y0_GPIO_Port, Y0_Pin, GPIO_PIN_RESET); /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = Y0_Pin; // 1. 选择要配置的引脚 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 2. 设置引脚模式为推挽输出 (Push-Pull Output) GPIO_InitStruct.Pull = GPIO_PULLUP; // 3. 设置内部上下拉电阻为上拉 (Pull-up) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // 4. 设置引脚翻转速度为低频 (Low Speed) HAL_GPIO_Init(Y0_GPIO_Port, &GPIO_InitStruct); // 5. 调用 HAL 库函数,将上述配置应用到指定的 GPIO 端口 } /* USER CODE BEGIN 2 */ /* USER CODE END 2 */

3.注意引脚的宏定义

#define Y0_Pin GPIO_PIN_8 //作用:将物理引脚编号抽象化,后续代码中使用 Y0_Pin 即可,无需关心具体是 Pin 8。 #define Y0_GPIO_Port GPIOA //作用:将物理引脚编号抽象化,后续代码中使用 Y0_Pin 即可,无需关心具体是 Pin 8。
http://www.jsqmd.com/news/842517/

相关文章:

  • 零基础API开发指南:零基础小白从入门到精通,高效打通数据“任督二脉”?
  • 为什么 SAP S/4HANA 的前端更常用 SAPUI5,而不是 React、Vue 或 Angular
  • * 阿里云百炼:免部署直接调用云端大模型
  • 从选题到定稿不熬夜:2026 年 10 款 AI 毕业论文工具实测,Paperxie 领衔全流程通关
  • COSI-Corr安装保姆级教程:从官网注册到ENVI环境变量配置,一次搞定
  • 2026职场进阶学数据分析的价值
  • 护眼钢化膜是智商税?圆偏振光+AR降反射实测,观复盾用硬核技术给出答案
  • 【NotebookLM戏剧研究辅助实战指南】:20年戏剧学者亲授AI赋能文本细读的5大黄金工作流
  • HarmonyOS 6学习:从视频加载到长截图——性能优化实战全解析
  • 学Simulink——基于 PWM 加相移混合控制的双向 DC-DC 变换器仿真
  • SBA系列生物传感分析仪的工作原理是什么?
  • Spring AI Alibaba零基础速成(2) ---- Ollama安装与使用
  • 玩客云直刷Armbian集成宝塔:一站式搭建个人服务器
  • 深度强化学习在卫星姿态控制中的应用与挑战
  • Warcraft Helper完整指南:让经典魔兽争霸3在现代Windows系统焕发新生
  • NotebookLM投稿窗口期预警:这7本SCI期刊正试点AI辅助审稿,截止前48小时提交优先处理!
  • PPTX判断包含图表id
  • Godot游戏开发:有限状态机(FSM)框架YAFSM原理与应用实战
  • 从JT/T 808到1078:构建道路运输车辆卫星定位系统的协议栈全景解析
  • coze 实战:萌宠摆摊视频工作流,一键自动生成趣味短片
  • 利用Token Plan套餐实现大模型API用量与成本的可控管理
  • 《Java 100 天进阶之路》第26篇:Java注解(Annotation)详解
  • 从‘密码长度’到‘任意代码执行’:手把手复现攻防世界int_overflow靶场(附Python3 EXP)
  • TVA智能体范式的工业视觉革命(7)
  • 从游戏显卡到专业GIS:如何为你的SuperMap三维场景挑选并调校一张合适的显卡
  • TVA智能体范式的工业视觉革命(8)
  • 深入QGIS矢量数据底层:手写WKT字符串添加几何图形,一次搞懂空间数据存储原理
  • 卡梅德生物技术快报|单 B 细胞抗体制备:流程优化、表达系统适配与性能数据
  • ARM Thumb指令集立即数编码与寄存器操作详解
  • SpringBoot项目实战:5分钟搞定OneNET物联网平台设备数据查询与指令下发