一.外设
在微控制处理器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。