【STM32学习笔记】(2)—— GPIO

1.什么是GPIO?

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

2.GPIO引脚分布 

STM32引脚类型: 电源引脚、晶振引脚、复位引脚、 下载引脚、BOOT引脚、GPIO引脚

3.IO端口基本结构介绍 

F1的IO结构图 

F4/F7/H7的IO结构图

F1系列IO端口基本结构

① 保护二极管 ② 内部上拉、下拉电阻 ③ 施密特触发器 ④ P-MOS & N-MOS管

施密特触发器简介:施密特触发器就是一种整形电路,可以将非标准方波,整形成方波。

特点: 当输入电压高于正向阈值电压,输出为高; 当输入电压低于负向阈值电压,输出为低; 当输入在正负向阈值电压之间,输出不改变。

作用:整形!如正弦波转方波

P-MOS & N-MOS管简介

MOS管是压控型元件,通过控制栅源电压( Vgs )来实现导通或关闭。 

 

 

G:栅极 S:源极 D:漏极 P:Vgs<0,导通 N:Vgs>0,导通

 4.GPIO的八种模式分析

一、GPIO工作模式:输入浮空

 ①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器打开 ④双MOS管不导通

特点:空闲时,IO状态不确定,由外部环境决定 

二、GPIO工作模式:输入上拉

①上拉电阻打开 ②下拉电阻关闭 ③施密特触发器打开 ④双MOS管不导通

特点:空闲时,IO呈现高电平

三、GPIO工作模式:输入下拉

①上拉电阻关闭 ②下拉电阻打开 ③施密特触发器打开 ④双MOS管不导通

特点:空闲时,IO呈现低电平 

四、GPIO工作模式:模拟功能 

①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器关闭 ④双MOS管不导通

特点:专门用于模拟信号输入或输出,如:ADC和DAC

五、GPIO工作模式:开漏输出

①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器打开 ④ P-MOS管始终不导通 ⑤往ODR对应位写0,N-MOS管导通,写1则N-MOS管不导通

特点:不能输出高电平,必须有外部(或内部)上拉才能输出高电平

六、GPIO工作模式:开漏式复用功能 

 ①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器打开 ④ P-MOS管始终不导通

特点: 1、不能输出高电平,必须有外部(或内部)上拉才能输出高电平

            2、由其他外设控制输出

七、GPIO工作模式:推挽输出 

 ①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器打开 ④往ODR对应位写0,N-MOS管导通,写1则P-MOS管导通

特点:可输出高低电平,驱动能力强

八、GPIO工作模式:推挽式复用功能 

①上拉电阻关闭 ②下拉电阻关闭 ③施密特触发器打开

特点: 1、可输出高低电平,驱动能力强 2、由其他外设控制输出 

F4/F7/H7系列和F1系列的GPIO差异点: 

1,F1在输出模式,禁止使用内部上下拉F4/F7/H7在输出模式,可以使用内部上下拉

2,不同系列IO翻转速度可能不同

5.GPIO寄存器介绍

端口配置低寄存器(CRL)- F1

设置工作模式、输出速度

端口配置高寄存器(CRH)- F1

设置工作模式、输出速度

工作模式配置补充 – F1

输入上拉/下拉电阻通过ODR寄存器来设置

端口输入数据寄存器(IDR)– F1

用于判断IO引脚的电平

端口输出数据寄存器(ODR)– F1

用于设置IO引脚输出的电平

端口位设置/清除寄存器(BSRR)– F1

用于设置ODR寄存器 

6.通用外设驱动模型(四步法)

 时钟设置、参数设置、IO设置、中断设置(开中断、设NVIC)(可选)
从外设读取数据(可选)
 往外设写入数据(可选)
根据中断标志,处理外设各种中断事务(可选)

7.GPIO配置步骤 

 __HAL_RCC_GPIOx_CLK_ENABLE()

 HAL_GPIO_Init()

 HAL_GPIO_WritePin()

                                                                   HAL_GPIO_TogglePin()

 HAL_GPIO_ReadPin()

相关HAL库函数简介

  

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值