江科大STM32学习笔记二——GPIO

GPIO是通用输入输出接口,用于配置为不同模式如驱动LED、控制蜂鸣器或读取按键输入。STM32中的GPIO连接到APB2总线,直接操作引脚电平。GPIO模式包括上拉输入、下拉输入、浮空输入以及推挽、开漏和关闭输出模式。开漏模式常用于I2C等通信协议以防止多机干扰。
摘要由CSDN通过智能技术生成

一、GPIO简介

  • GPIO(General Purpose Input Output)通用输入输出口
  • 可配置为8种输入输出模式
  • 引脚电平:0V~3.3V,部分引脚可容忍5V(在STM32F103C8T6引脚定义中,带FT的,可以容忍5V)
  • 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
  • 输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

二、GPIO基本结构

在STM32中,所有GPIO均接在APB2外设总线上,其中寄存器直接与指定引脚相连,配置好读写模式后可以直接读取或写入指定引脚的高低电平;驱动器则是起到增大信号驱动能力的作用。
在这里插入图片描述
在这里插入图片描述

三、GPIO模式

GPIO共具有以下八种输入输出模式:
在这里插入图片描述
在这里插入图片描述

  • IO引脚处直接接两个保护二极管与VDD和VSS相连,高于VDD和低于VSS的电压信号会触发保护电路,避免过高或过低的信号对STM32系统的干扰。
  • 输入模式分为上拉输入、下拉输入和浮空输入,其通过增加上、下拉电阻来设置IO引脚的默认输入电平,该电阻阻值较大,上/下拉作用较弱,以实现尽量减少对输入信号干扰的作用。没有配置电阻时即浮空输入,信号容易受到外界扰动,此时必须保证IO引脚为连续变化的输入源。
  • 输出控制电路通过P-MOS和N-MOS是否连接或断开,将输出模式分为推挽、开漏和关闭输出模式。
  • 推挽输出模式下,P-MOS和N-MOS均连接,高电平将通过P-MOS向IO引脚输出VDD,低电平将通过N-MOS向IO引脚输出VSS,此时高低电平均具有较强输出能力。
  • 开漏输出模式下,P-MOS始终处于断开,仅有低电平可以通过N-MOS向IO引脚输出VSS,此时仅有低电平具有输出能力。开漏模式通常应用在通信协议(例如I2C协议)的驱动方式,可以在多机模式下避免多机通信相互干扰。
  • 关闭模式下,P-MOS和N-MOS均无效,引脚电平由外部电路控制(该模式我还没遇到过应用场景)。
  • 复用开漏、推挽输出模式下,输出信号又片上外设而非数据输出寄存器控制。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
科大STM32笔记是关于STM32单片机的学习笔记,其中涵盖了一些关于按键初始化和按键读取的代码示例。在这些代码中,通过引用中的Key_Init函数来对按键进行初始化,然后通过引用中的Key_GetNum函数来获取按键按下的键码值。代码中使用了STM32GPIO模块来配置引脚的工作模式和读取引脚的电平状态。此外,引用中提到STM32内部集成了硬件收发电路,可以通过写入控制寄存器CR和数据寄存器DR来实现与外设的通信,并通过读取状态寄存器SR来了解外设电路的当前状态。这些寄存器的使用可以实现对外设的控制和监测,减轻CPU的负担。因此,科大STM32笔记主要是介绍了STM32单片机的相关知识和编程技巧。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [STM32学习笔记 -- I2C(科大)](https://blog.csdn.net/weixin_61244109/article/details/131002266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [STM32科大学习笔记](https://blog.csdn.net/weixin_38647099/article/details/128337708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值