STM32 GPIO复习

GPIO

General Purpose Input Output,即通用输入输出端口,简称GPIO。
负责采集外部器件的信息或控制外部器件工作,即输入输出。

不同型号,IO口数量可能不一样,可通过选型手册快速查询。

能快速翻转,每次翻转最快只需要两个时钟周期(F1最高速度可到50MHz)。
每个IO口可以做中断。

支持八种工作模式。

STM32工作电压范围2V≤VDD≤3.6V,开发板接的是3.3V。

GPIO识别电压范围:

TTL端口兼容5V,标明了FT就是TTL端口。

F1系列IO端口基本结构

斯密特触发器是一种整形电路,可以将非标准方波,整形成方波。

  1. 当输入电压高于正向阈值电压,输出为高。
  2. 当输入电压低于负向阈值电压,输出为低。
  3. 当输入电压在两者之间,输出与前面的输出相结合不变。

    作用:整形!正弦波变为方波。

GPIO的八种模式分析

  1. 输入浮空:输入用,完全浮空,状态不定。
  2. 输入上拉:输入用,用内部上拉,默认是高电平。
  3. 输入下拉:输入用,用内部下拉,默认是低电平。
  4. 模拟功能:ADC、DAC。
  5. 开漏输出:软件IIC的SDL、SCL等。
  6. 推挽输出:驱动能力强,25mA(max),通用输出。
  7. 开漏式复用功能:片上外设功能(硬件IIC的SDL、SCL引脚等)。
  8. 推挽式复用功能:片上外设功能(SPI的SCK、MISO、MOSI引脚等)。

配置为输出模式时,仍然可以读取到引脚的高低电平。
开漏输出,不能输出高电平,必须有外部上拉才能输出高电平。
F1再输出模式时,禁止使用内部上下拉。

GPIO寄存器

GPIO配置步骤

  1. 使能时钟:__HAL_RCC_GPIOx_CLK_ENBALE()
  2. 设置工作模式:HAL_GPIO_Init()
  3. 设置输出状态:HAL_GPIO_WritePin()、HAL_GPIO_TogglePin()
  4. 读取输入状态:HAL_GPIO_ReadPin()
相关推荐
学习噢学个屁1 小时前
基于STM32的交通灯设计—紧急模式、可调时间
c语言·stm32·单片机·嵌入式硬件
gmmi6 小时前
嵌入式学习 51单片机(3)
单片机·学习·51单片机
CC呢8 小时前
基于单片机智能热水壶/养生壶设计
单片机·嵌入式硬件·单片机设计
贾亚超9 小时前
【STM32外设】DAC
stm32·单片机·嵌入式硬件
明天见~~10 小时前
硬件基础:串口通信
嵌入式硬件
sheepwjl11 小时前
《嵌入式硬件(三):串口通信》
网络·嵌入式硬件·网络协议·串口通信
嵌入式牛马在努力帮老板娶老婆12 小时前
十四、STM32-----低功耗
stm32·单片机·嵌入式硬件
来生硬件工程师13 小时前
【硬件笔记】负载是如何烧MOS的?
笔记·嵌入式硬件·硬件架构·硬件工程·硬件设计
少男的脸红藏不住心事13 小时前
GD32入门到实战34--ARM启动流程
单片机·嵌入式硬件
日更嵌入式的打工仔13 小时前
PHY的自适应协商简析
网络·嵌入式硬件·自适应·phy