嵌入式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 系列为参考)

外部引脚(芯片物理引脚名) 内部对应(端口位/内部信号端) 主要复用功能举例(内部外设连接端)
PA0 GPIOA 端口位 0 WKUP、TIM2_CH1、USART2_CTS、ADC_IN0
PA1 GPIOA 端口位 1 TIM2_CH2、USART2_RTS、ADC_IN1
PA2 GPIOA 端口位 2 TIM2_CH3、USART2_TX、ADC_IN2
PA3 GPIOA 端口位 3 TIM2_CH4、USART2_RX、ADC_IN3
PA4 GPIOA 端口位 4 SPI1_NSS、USART2_CK、ADC_IN4、DAC_OUT1
PA5 GPIOA 端口位 5 SPI1_SCK、ADC_IN5、DAC_OUT2
PA6 GPIOA 端口位 6 SPI1_MISO、TIM3_CH1、ADC_IN6
PA7 GPIOA 端口位 7 SPI1_MOSI、TIM3_CH2、ADC_IN7
PA8 GPIOA 端口位 8 MCO、TIM1_CH1、USART1_CK
PA9 GPIOA 端口位 9 USART1_TX、TIM1_CH2
PA10 GPIOA 端口位 10 USART1_RX、TIM1_CH3
PA11 GPIOA 端口位 11 USB_DM、USART1_CTS、TIM1_CH4
PA12 GPIOA 端口位 12 USB_DP、USART1_RTS、TIM1_ETR
PA13 GPIOA 端口位 13 JTMS/SWDIO(调试接口)
PA14 GPIOA 端口位 14 JTCK/SWCLK(调试接口)
PA15 GPIOA 端口位 15 JTDI、TIM2_CH1、SPI1_NSS

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

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

相关推荐
wuyk5554 小时前
嵌入式故障诊断-Bug002-局部大数组压栈高温必死机
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·嵌入式实时数据库
Zwawa7 小时前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
Dev_XH7 小时前
【成品设计】基于沁恒单片机的电动汽车充电站智慧调度系统
stm32·单片机·嵌入式硬件·物联网
shimly1234568 小时前
(done) 嵌入式硬件电路图 (5) 重要的元器件特性之二极管三极管
嵌入式硬件
minglie110 小时前
esp32c3+atshell测试ov7670
单片机·嵌入式硬件
橘为己有44111 小时前
51单片机:流水灯
单片机·51单片机
不脱发的程序猿11 小时前
STM32和VS1053制作电子琴
stm32·单片机·嵌入式硬件·midi·vs1053
Zwawa1 天前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
shimly1234561 天前
(done) 嵌入式硬件电路图 (2) 熟悉常用元器件
嵌入式硬件
安妮细水长流1 天前
ad7124
c语言·单片机