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()
相关推荐
PegasusYu35 分钟前
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
stm32·教程·rtos·stm32cubeide·free-rtos·eventgroup·时间标志组
lantiandianzi5 小时前
基于单片机的多功能跑步机控制系统
单片机·嵌入式硬件
文弱书生6565 小时前
输出比较简介
stm32
哔哥哔特商务网5 小时前
高集成的MCU方案已成电机应用趋势?
单片机·嵌入式硬件
跟着杰哥学嵌入式5 小时前
单片机进阶硬件部分_day2_项目实践
单片机·嵌入式硬件
电子科技圈6 小时前
IAR与鸿轩科技共同推进汽车未来
科技·嵌入式硬件·mcu·汽车
东芝、铠侠总代136100683937 小时前
浅谈TLP184小型平面光耦
单片机·嵌入式硬件·物联网·平面
lantiandianzi7 小时前
基于单片机中医药柜管理系统的设计
单片机·嵌入式硬件
嵌入式知识大讲堂7 小时前
HDMI数据传输三种使用场景
单片机
黑客呀8 小时前
[系统安全]Rootkit基础
stm32·单片机·系统安全