news 2026/10/23 7:59:06

嵌入式3 - 外设和GPIO基本概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式3 - 外设和GPIO基本概念

一.外设

在微控制处理器MCU中,CPU是MCU的大脑,负责控制整个MCU,在芯片上除了CPU之外还有一些其他封装的模块,他们叫做外设,整个板子上除了芯片的其他部分叫做板级外设。

二.GPIO基本概念

1.什么是GPIO:GPIO的英文全程Gneral Purpose Input Output,字面意思就是通用输入输出。GPIO是MCU内部一个负责控制输入输出的控制器电路。‘

2.GPIO输入输出的是什么?

GPIO输入和输出的本质是数字逻辑电平,物理上表现为电压的高低,,他不直接“输入输出”电流或模拟量,二世谷通过电压范围来表示二进制的0或1。

3.GPIO输入时:

GPIO 输入的是对外部电平的检测结果,即读取引脚上是高电平还是低电平(0 或 1)。

常见用途:

1.读取按键是否按下。

2.检测传感器输出的数字信号(如红外对射、限位开关)。

3.读取其他芯片的状态信号。

4.GPIO输出时:GPIO输出的是高低电平。

通过输出高低电平,GPIO 可以:

1.点亮/熄灭 LED。

2.驱动继电器、蜂鸣器。

3.向其他芯片发送数字信号(如片选、时钟、使能信号)。

4.模拟通信时序(如软件 SPI/I2C 的位操作)。

三.GPIO和pin(引脚)的关系

1.GPIOx都是在每次内部的。

2.GPIOA = GPIO + PortA(Port是端口的意思 --> 芯片与外部世界的“数据交换接口”)。

3.一个GPIO对应多个内部引脚,每一个内部引脚和外部引脚有一一对应的关系。

以GPIO为例:

GPIOA 引脚对照表(以 STM32F103 系列为参考)

外部引脚(芯片物理引脚名)内部对应(端口位/内部信号端)主要复用功能举例(内部外设连接端)
PA0GPIOA 端口位 0WKUP、TIM2_CH1、USART2_CTS、ADC_IN0
PA1GPIOA 端口位 1TIM2_CH2、USART2_RTS、ADC_IN1
PA2GPIOA 端口位 2TIM2_CH3、USART2_TX、ADC_IN2
PA3GPIOA 端口位 3TIM2_CH4、USART2_RX、ADC_IN3
PA4GPIOA 端口位 4SPI1_NSS、USART2_CK、ADC_IN4、DAC_OUT1
PA5GPIOA 端口位 5SPI1_SCK、ADC_IN5、DAC_OUT2
PA6GPIOA 端口位 6SPI1_MISO、TIM3_CH1、ADC_IN6
PA7GPIOA 端口位 7SPI1_MOSI、TIM3_CH2、ADC_IN7
PA8GPIOA 端口位 8MCO、TIM1_CH1、USART1_CK
PA9GPIOA 端口位 9USART1_TX、TIM1_CH2
PA10GPIOA 端口位 10USART1_RX、TIM1_CH3
PA11GPIOA 端口位 11USB_DM、USART1_CTS、TIM1_CH4
PA12GPIOA 端口位 12USB_DP、USART1_RTS、TIM1_ETR
PA13GPIOA 端口位 13JTMS/SWDIO(调试接口)
PA14GPIOA 端口位 14JTCK/SWCLK(调试接口)
PA15GPIOA 端口位 15JTDI、TIM2_CH1、SPI1_NSS

4.GPIO内部引脚硬件电路(其中一个引脚)

其中上表示输入部分下边是输出部分上I下O。

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

一单拆三柜,难点不在装满:多柜分配问题怎么建模

很多装箱算法的教程默认只有一个箱子:给定一批货,求最大装载率。真实业务里更常见的是另一道题:一张订单 300 多个 SKU,要拆进两到四个柜子,每个柜子还要满足自己的限重、卸货站点和单证要求。单柜装得再漂亮&#xff…

作者头像 李华
网站建设 2026/10/23 7:56:21

联调环境跑通不代表能上线:环境差异的五个断点与五条上线前检查

对接外部开放平台的系统里,「联调环境全绿、切生产当天挂掉」是复现率最高的事故类型之一。本文以一次 11 小时的切换事故为切口,归纳联调环境与生产环境之间的五个结构性断点(代理层、参数校验、频控、时钟、回调投递)&#xff0…

作者头像 李华
网站建设 2026/10/23 7:56:16

Navicat Premium 17 安装与配置详细图文教程(附安装包)

前言 Navicat Premium 是一款非常强大的数据库管理工具,支持 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 等多种数据库。最近 Navicat 更新到了 17 版本,界面和功能都有所升级。本文将手把手教大家如何在一台 Windows 电脑上完成 Navica…

作者头像 李华
网站建设 2026/10/23 7:56:15

基于 YOLOv8 的手势识别系统

本项目是一套基于 YOLOv8 的手势识别系统,以 18 类手势目标检测数据集为数据基础,面向十八类手势的定位与识别完成模型训练、评估与系统应用。系统提供 Web 端和 PyQt6 桌面端,支持图片、视频和摄像头输入,并集成结果查看、历史查…

作者头像 李华
网站建设 2026/10/23 7:52:41

OpenClaw 整合包部署教程|可视化向导,本地 AI 智能体落地实操

📖 前言 本文面向 Windows 系统用户,系统梳理 OpenClaw 的标准化部署流程。全程无需输入任何命令行,所有操作均依托可视化向导完成,即便是零基础用户也能独立走完整套部署。文中同时汇总了高频报错的对应解决方案,力求…

作者头像 李华
网站建设 2026/10/23 7:52:40

后端程序员如何拥抱AI Agent:从Java到Python的思维模式转变与实战

本文是一位后端程序员从Java转向学习AI Agent的心得。作者分享了使用Cursor、Claudecode等AI编码工具的体验,以及初次使用时遇到的挑战,如幻觉问题和参数错误。文章深入分析了AI生成代码的特点,强调验证的重要性,并提出了“回到定…

作者头像 李华