news 2026/4/15 16:34:23

1.GPIO

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.GPIO

1. GPIO介绍

GPIO 是 “General-Purpose Input/Output” 的缩写,即通用输入 / 输出接口,是嵌入式系统(如单片机、MCU)中最基础的硬件接口之一。

核心特点

  1. 通用性:可灵活配置为 “输入” 或 “输出” 模式,适配不同场景;
  2. 可编程:通过寄存器或软件(如 STM32CubeMX)设置其工作模式、电平状态等;
  3. 基础功能载体:是连接外部硬件(如按键、LED、传感器)的 “桥梁”。

STM32H743IIT6 芯片是 176 脚的芯片,它的 IO 口总共有 140 个,IO 分组为 8 组,分别是 GPIOA-GPIOH。这里 GPIOA-GPIOH,16*8=128个 IO口。

2.STM32H743 GPIO功能

GPIO有八种工作模式,分别是:
1、输入浮空
2、输入上拉
3、输入下拉
4、模拟
5、开漏输出
6、推挽输出
7、开漏式复用功能
8、推挽式复用功能

3.GPIO基本结构

见《STM32H7xx参考手册》

4.寄存器

单片机的外设(GPIO、UART、ADC、定时器等)本质是由一组寄存器(控制寄存器、数据寄存器、状态寄存器等)定义的:

  • 比如控制 GPIO 输出高电平,最终是向ODR寄存器的对应位写入 1;
  • 配置 UART 波特率,最终是修改BRR寄存器的分频值;
  • 读取 ADC 采样值,最终是读取DR寄存器的数值。

结论:无论上层如何封装,外设的硬件行为最终都由寄存器的数值决定,这是单片机硬件的核心逻辑

所以,熟悉任何一个外设,都要熟悉其寄存器。

STM32H7每组(这里是 A~H)通用 GPIO 口有 10个 32 位寄存器控制,包括 :
4 个 32 位配置寄存器(MODER、OTYPER、OSPEEDR 和 PUPDR)
2 个 32 位数据寄存器(IDR 和 ODR)
1 个 32 位置位/复位寄存器 (BSRR)
1 个 32 位锁定寄存器 (LCKR)
2 个 32 位复用功能选择寄存器(AFRH 和 AFRL)

具体每个寄存器什么含义,见《STM32H7xx参考手册》

5.GPIO驱动LED灯亮灭

原理图:

代码:

这里为了调试方便,使用rtthread基本工程。

/* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2019-03-05 whj4674672 first version */ #include <rtthread.h> #include <rtdevice.h> #include <board.h> #define LED0_GPIO_PORT GPIOB #define LED0_GPIO_PIN GPIO_PIN_1 #define LED0_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) #define LED1_GPIO_PORT GPIOB #define LED1_GPIO_PIN GPIO_PIN_0 #define LED1_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* LED端口定义 */ #define LED0(x) do{ x ? \ HAL_GPIO_WritePin(LED0_GPIO_PORT, LED0_GPIO_PIN, GPIO_PIN_SET) : \ HAL_GPIO_WritePin(LED0_GPIO_PORT, LED0_GPIO_PIN, GPIO_PIN_RESET); \ }while(0) /* LED0 = RED */ #define LED1(x) do{ x ? \ HAL_GPIO_WritePin(LED1_GPIO_PORT, LED1_GPIO_PIN, GPIO_PIN_SET) : \ HAL_GPIO_WritePin(LED1_GPIO_PORT, LED1_GPIO_PIN, GPIO_PIN_RESET); \ }while(0) /* LED1 = GREEN */ /* LED取反定义 */ #define LED0_TOGGLE() do{ HAL_GPIO_TogglePin(LED0_GPIO_PORT, LED0_GPIO_PIN); }while(0) /* LED0 = !LED0 */ #define LED1_TOGGLE() do{ HAL_GPIO_TogglePin(LED1_GPIO_PORT, LED1_GPIO_PIN); }while(0) /* LED1 = !LED1 */ /** * @brief 初始化LED相关IO口, 并使能时钟 * @param 无 * @retval 无 */ void led_gpio_init(void) { GPIO_InitTypeDef gpio_init_struct; LED0_GPIO_CLK_ENABLE(); /* LED0时钟使能 */ LED1_GPIO_CLK_ENABLE(); /* LED1时钟使能 */ gpio_init_struct.Pin = LED0_GPIO_PIN; /* LED0引脚 */ gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP; /* 推挽输出 */ gpio_init_struct.Pull = GPIO_PULLUP; /* 上拉 */ gpio_init_struct.Speed = GPIO_SPEED_FREQ_MEDIUM; /* 中速 */ HAL_GPIO_Init(LED0_GPIO_PORT, &gpio_init_struct); /* 初始化LED0引脚 */ gpio_init_struct.Pin = LED1_GPIO_PIN; /* LED1引脚 */ HAL_GPIO_Init(LED1_GPIO_PORT, &gpio_init_struct); /* 初始化LED1引脚 */ LED0(1); /* 关闭 LED0 */ LED1(1); /* 关闭 LED1 */ } int main(void) { led_gpio_init(); while(1) { LED0(0); /* LED0(RED) 亮 */ LED1(1); /* LED1(GREEN) 灭 */ rt_thread_mdelay(500); LED0(1); /* LED0(RED) 灭 */ LED1(0); /* LED1(GREEN) 亮 */ rt_thread_mdelay(500); } }

6.仿真

7.现象

led亮灭

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 2:56:12

GameFramework框架完整解析:Unity游戏开发的终极解决方案

GameFramework框架完整解析&#xff1a;Unity游戏开发的终极解决方案 【免费下载链接】GameFramework This is literally a game framework, based on Unity game engine. It encapsulates commonly used game modules during development, and, to a large degree, standardis…

作者头像 李华
网站建设 2026/4/9 2:48:25

AI视频工具普及,为何内容团队加班更多了?

随着AI视频生成工具的快速普及&#xff0c;一个看似矛盾的现象正在内容行业蔓延&#xff1a;技术本应解放生产力&#xff0c;但许多团队的加班时长却不降反增。据2023年行业白皮书显示&#xff0c;超过60%的受访团队表示&#xff0c;在引入AI工具后&#xff0c;内容生产的“隐性…

作者头像 李华
网站建设 2026/4/13 19:36:23

Wan2.2-Animate-14B:零门槛角色动画生成技术深度解析

Wan2.2-Animate-14B&#xff1a;零门槛角色动画生成技术深度解析 【免费下载链接】Wan2.2-Animate-14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-Animate-14B 数字内容创作领域正在经历一场技术革命&#xff0c;传统动画制作中复杂繁琐的动作捕捉和…

作者头像 李华
网站建设 2026/4/13 15:11:33

SC4D20120H-JSM 碳化硅肖特基二极管

在新能源发电、工业自动化、应急供电等领域加速升级的当下&#xff0c;核心功率器件的性能直接决定了设备的效率、可靠性与市场竞争力。碳化硅&#xff08;SiC&#xff09;肖特基二极管凭借零反向恢复电荷、高频工作、耐高温等无可替代的优势&#xff0c;已成为高端应用场景的 …

作者头像 李华
网站建设 2026/4/11 11:18:29

Wan2.2-T2V-A14B在房地产宣传片制作中的降本增效实践

Wan2.2-T2V-A14B在房地产宣传片制作中的降本增效实践技术背景与行业挑战 &#x1f3d7;️ 想象一下&#xff1a;一个地产营销团队&#xff0c;正为即将开盘的新项目焦头烂额。 距离发布会只剩三天&#xff0c;宣传片还没剪完——摄影师还在补拍镜头&#xff0c;后期团队通宵调色…

作者头像 李华