STM32端口输入输出模式配置
2024-08-22 09:48:21
STM32的IO口模式配置
根据数据手册提供的信息,stm32的io口一共有八种模式,他们分别是:
四种输入模式
- 上拉输入:通过内部的上拉电阻将一个不确定的信号通过一个电阻拉到高电平。
- 下拉输入:把电压拉到GND。与上拉原理相似。
- 浮空输入:引脚内部什么都不接,处于浮空模式下,电平状态是不确定的。外部信号输入什么,IO口就是什么状态。
- 模拟输入:接收到的是连续的模拟信号,一般用于AD转换。
四种输出模式
- 推挽输出:可以输出高低电平,连接数字器件。在stm32中推挽电路由两个MOS管组成:输出高电平时P-MOS管导通,引脚联通VDD(3.3v)。输出低电平时N-MOS导通,引脚联通GND。该方式既提高电路的负载能力,又提高开关速度。
- 开漏输出:无法直接输出高电平,要在外部连接上拉电阻才行,输出的电压由上拉电阻连接的电源决定。适合做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。开漏输出还有一个特性:线与。即很多开漏模式引脚连接在一起,只有当所有引脚都输出1时,才能够被上拉电阻拉到高电平。若有一个引脚为低电平,则所有引脚相当于接地。
- 复用推挽输出:简单来说就是给内部外设使用的推挽输出模式,
- 复用开漏输出:简单来说就是给内部外设使用的开漏输出模式
在STM32中,根据不同的使用场景,选用不同的IO模式:
- GPIO_Mode_AIN: 模拟输入,一般用作模数转换
- GPIO_Mode_IN_FLOATING: 浮空输入,常用在key识别上
- GPIO_Mode_IPD: 下拉输入--- IO内部下拉电阻输入
- GPIO_Mode_IPU:上拉输入--- IO内部上拉电阻输入
- GPIO_Mode_Out_OD: 开漏输出---可以外接上拉电阻输出较高的电平,也能够通过读取IO的电平变化实现C51的IO双向功能。
- GPIO_Mode_Out_PP: 推挽输出---IO输出0-接GND,IO输出1 -接VCC,读输入值是未知的。
- GPIO_Mode_AF_OD:复用开漏输出---片内外设功能(TX1,MOSI,MISO.SCK.SS)。
- GPIO_Mode_AF_PP: 复用推挽输出---片内外设功能(I2C的SCL,SDA)。
根据下面的IO结构图可能更有利于理解:
最新文章
- (转载) 浅谈python编码处理
- 四种比较简单的图像显著性区域特征提取方法原理及实现----->; AC/HC/LC/FT。
- 深入学习jQuery的三种常见动画效果
- 通过API执行AutoCAD命令来…
- Hibernate注解----类级别注解以及属性注解详解----图片版本
- iOS 给NSString文字上添加横线 中间和下划线
- 51单片机ALE引脚的控制(摘录)
- [转]开源那些事儿(四)-如何使用CodePlex进行项目管理
- Ubuntu下配置Scheme开发环境
- crawler4j:轻量级多线程网络爬虫
- Ansj配置指南!
- 【网络】 数据链路层&;物理层笔记
- SSH深度历险(一)深入浅出Hibernate架构(一)-------映射解析——七种映射关系
- 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理
- day13-(事务&;mvc&;反射补充)
- G - Intersecting Rectangles Kattis - intersectingrectangles (扫描线)(判断多个矩形相交)
- ReactNative学习笔记(二)基础进阶
- delphi中接口的委托和聚合
- DNS-320 B2 语言包
- (21)jq动画
热门文章
- 使用reactjs遇到Warning: setState(...): Can only update a mounted or mounting component.
- jquery类似方法的比较(三)
- 在android真机上使用sqlite3
- php 判断变量函数
- 遍历DataSet
- Feature Toggle JUnit
- C# get post 的方法
- sql 中如何将返回的记录某一条置顶
- 一个不需要Log4Net的写日志的简单方法
- 基于linux-2.6.35的class_create(),device_create解析