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()
相关推荐
枯无穷肉20 分钟前
stm32制作CAN适配器4--WinUsb的使用
stm32·单片机·嵌入式硬件
不过四级不改名67736 分钟前
基于HAL库的stm32的can收发实验
stm32·单片机·嵌入式硬件
嵌入式科普1 小时前
十一、从0开始卷出一个新项目之瑞萨RA6M5串口DTC接收不定长
c语言·stm32·cubeide·e2studio·ra6m5·dma接收不定长
嵌入式大圣1 小时前
单片机UDP数据透传
单片机·嵌入式硬件·udp
云山工作室1 小时前
基于单片机的视力保护及身姿矫正器设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
嵌入式-老费1 小时前
基于海思soc的智能产品开发(mcu读保护的设置)
单片机·嵌入式硬件
qq_397562313 小时前
MPU6050 , 设置内部低通滤波器,对于输出数据的影响。(简单实验)
单片机
liyinuo20173 小时前
嵌入式(单片机方向)面试题总结
嵌入式硬件·设计模式·面试·设计规范
艺术家天选4 小时前
STM32点亮LED灯
stm32·单片机·嵌入式硬件
向阳逐梦4 小时前
基于STM32F4单片机实现ROS机器人主板
stm32·单片机·机器人