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 小时前
【AD】3-4 在原理图中放置元件
嵌入式硬件
徐嵌1 小时前
STM32项目---水质水位检测
stm32·单片机·嵌入式硬件
徐嵌1 小时前
STM32项目---畜牧定位器
c语言·stm32·单片机·物联网·iot
lantiandianzi1 小时前
基于单片机的老人生活安全监测系统
单片机·嵌入式硬件·生活
东胜物联2 小时前
探寻5G工业网关市场,5G工业网关品牌解析
人工智能·嵌入式硬件·5g
stm32发烧友2 小时前
基于STM32的智能家居环境监测系统设计
stm32·嵌入式硬件·智能家居
hairenjing112310 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
模拟IC攻城狮11 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
IT B业生11 小时前
51单片机教程(六)- LED流水灯
单片机·嵌入式硬件·51单片机
一枝小雨11 小时前
51单片机学习心得2(基于STC89C52):串口通信(UART)
单片机·嵌入式硬件·51单片机