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设计】数控直流稳压电源的设计与实现(实物+资料+论文)
stm32·嵌入式硬件·mongodb
march_birds2 小时前
FreeRTOS 与 RT-Thread 事件组对比分析
c语言·单片机·算法·系统架构
小麦嵌入式3 小时前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
触角010100014 小时前
STM32F103低功耗模式深度解析:从理论到应用实践(上) | 零基础入门STM32第九十二步
驱动开发·stm32·单片机·嵌入式硬件·物联网
昊虹AI笔记4 小时前
使用STM32CubeMX和Keil在STM32上创建并运行一个简单的FreeRTOS多任务程序
stm32·单片机·嵌入式硬件
王光环5 小时前
单片机使用printf,不用微库
单片机·嵌入式硬件
LS_learner5 小时前
小智机器人关键函数解析,Application::OutputAudio()处理音频数据的输出的函数
人工智能·嵌入式硬件
西城微科方案开发6 小时前
体重秤PCBA电路方案组成结构
单片机·嵌入式硬件
深圳市青牛科技实业有限公司6 小时前
「青牛科技 」GC4931P/4938/4939 12-24V三相有感电机驱动芯片 对标Allegro A4931/瑞盟MS4931
科技·单片机·扫地机器人吸尘·筋膜枪电机·驱动轮电机·服务机器人驱动轮电机·工业机器人减速电机
集和诚JHCTECH6 小时前
集和诚携手Intel重磅发布BRAV-7820边缘计算新品,为车路云一体化场景提供强大算力支撑
人工智能·嵌入式硬件·边缘计算