当前位置: 首页 > news >正文

嵌入式学习笔记2.GPIO的工作模式

GPIO的工作模式
根据GPIO的电路结构,引脚可以分为四种工作模式:

1.输入模式

根据是否开启上拉/下拉电阻,又可以分成3种输入模式:

(1)浮空输入

不使能上拉/下拉电阻。此时,I/0引脚的电平状态不确定,完全由外部输人决定。 MCU上电复位后,引脚默认的工作模式就是浮空输入。

(2)上拉输入

使能上拉电阻,1/0引脚内部接上拉电阻。如果引脚外部没有信号输入时,默认为高电平。

(3)下拉输入

使能下拉电阻,I/O引脚内部接下拉电阻。如果引脚外部没有信号输人时,默认为低电平。

输入模式下的上拉/下拉电阻在设计电路时比较有用。以按键电路为例,如果按键电路自身设计了上拉或下拉电阻,则引脚可以选择工作在浮空输人模式下。如果按键电路自身没有设计上拉或下拉电阻,则可以根据按键电路的设计,使能引脚的上拉/下拉电阻。这样可以减少按键电路的上拉或下拉电阻,起到简化电路的作用。


2.输出模式

当我们需要使用引脚作为数字输出时,常常使用输出模式。此时,输出驱动器启用,并配置为推挽类型或开漏类型,施密特触发器打开,可以读取引脚的电平状态。
根据MOS管的工作状态,又可以分成两种输出模式:

(1)推挽输出

P-MOS管和N-MOS管轮流工作,可以输出高电平或低电平。当输出数据寄存器的某一位为1时,经过非门后,P-MOS管处于导通状态,N-MOS管处于截止状态,对应的 I/O引脚将输出高电平;当输出数据寄存器的某一位为0时,经过非门后,P-MOS管处于截止状态,N-MOS管处于导通状态,对应的I/O引脚输出低电平。

(2)开漏输出

P-MOS管一直处于截止状态,只有N-MOS管工作,只能输出低电平。如果输出数据寄存器某一位为0时,N-MOS管处于导通状态,对应的I/O引脚将输出低电平。如果输出数据寄存器某一位为1时,N-MOS管处于截止状态。此时,对应I/O引脚的输出电平就不再由输出数据寄存器决定,而是由1/0引脚外部的上拉或下拉电阻决定。如果没有外部的上拉或下拉电阻,引脚将处于悬空状态。

在输出模式中,推挽输出是最常用的模式,用于指示灯、蜂鸣器、继电器及电机等外围电路的控制。

开漏输出则一般用于IIC总线(开漏模式加上拉电阻以实现双向数据通信)或者作为电平转换(3.3V电压与5V电压之间的转换)。


3.模拟模式

模拟模式主要用于片内模拟外设(A/D、D/A、模拟比较器等)的信号通道。当引脚工作于模拟模式时,施密特触发器被旁路,输出驱动器关闭,上拉/下拉电阻禁能,输人数据寄存器的值恒为0。此时,10引脚的功耗较小。因此在工程应用中,常常将没有用到的 I/O引脚设置为模拟模式,以减少系统功耗,提高抗干扰能力。


4.复用模式

GPIO引脚的基本功能是数字I/O,而STM32微控制器片内集成了大量的外设,如TIMER和UART等,这些片内外设的外部引脚与GPIO引脚复用。在复用模式下,引脚的电平状态不再受端口寄存器组的控制,而是由片内外设控制。此时,输出驱动器启用,可以配置为推挽类型或开漏类型;施密特触发器打开,可以读取引脚的电平状态。片内外设通过多路复用器与GPIO引脚互连,用户可以通过修改多路复用器,重新分配片内外设所映射的1/0引脚。引脚所对应的片内外设复用功能,可以通过查阅芯片的数据手册获取,或者在CubeMX软件的引脚分配图中点击对应引脚,在弹出的菜单中将列出该引脚的全部复用功能。


http://www.dtcms.com/a/416391.html

相关文章:

  • 织梦修改网站背景颜色上海网站建设哪家口碑好
  • 网站有几种语言开发的wordpress文章排序方式
  • 5个月的新站网站被k了会怎么样wordpress文章统计
  • 卫浴网站设计网站设计精美案例
  • 第十六届蓝桥杯软件赛B组省赛C++题解(京津冀)
  • 网站关键词分析工具攻略类型网站如何做产品营销
  • 建设大型视频网站需要的资金量安防公司网站模板
  • 住房城乡建设部招投标网站网站被人做跳转
  • 无忧网站建设哪家好建立英语
  • Visio2021绘图基本操作步骤及方法
  • 基于多站点的网站内容管理平台的管理与应用应用商场安全下载安装
  • SpaceX的Raptor发动机详细介绍
  • 厦门做网站多少软件开发项目预算表
  • 陕西建设网网站集群装修公司加盟哪家最好
  • 网站排名的重要性网站对联广告代码
  • 上海网站建设开发制作wordpress仿导航大全
  • wordpress电影站开发php与网站建设
  • 外贸网站开发公司wordpress输入密码无法登陆
  • 上海网站建设 中华企业录wordpress 原创主题
  • 论坛网站方案wordpress即阅文教程
  • 常用压力单位kPa、MPa、psi、bar和公斤之间的换算关系
  • 青海省住房城乡建设厅网站首页服务器创建网站
  • Matplotlib三层结构全解析
  • 国外的电商网站有哪些方面wordpress 首页文件
  • sadasddasads
  • 温州公司做网站公司网页制作设计
  • 昆山做网站的jofuns门户网站开发难点
  • Python 数学公式构建海洋不明生物(好像是水母)动画 - 波浪起伏效果
  • 做毕业设计个人网站任务书购物网站名字
  • 青岛网站建设公司正uc酷站中的美图网站