Ⅰ、写在前面
在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx)。但是,你们都知道各种模式的具体意义吗?
有的人问:IO口输出可以上拉吗? 开漏输出是干什么用的?
其实这些问题并不难,只要你了解到每一种模式的真正意思,相信这些问题都不会难道你。本文的内容比较基础,也比较实用,希望对你有所帮助。
关于本文的详细内容请看下面章节
Ⅱ、模式说明
STM32芯片的IO有8中模式:
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出
四种输入模式 + 四种输出模式
上面IO结构图来自STM32F1参考手册,从图中可以看得出来IO口大致的结构,也能反映出各种模式。
代码中常见的一些配置:
Ⅲ、本文要点
下面结合相关资料,讲述一下各种模式的内容:
模拟I2C读写EEPROM】里面I2C总线的SDA引脚就使用了开漏输出功能。也就是需要在释放SDA总线时,只需要将SDA设置输出为“1”就行了。
5.GPIO_Mode_Out_PP 推挽输出
推挽输出:意思就是输出具有驱动能力(比如:引脚上接一个LED,可以直接点亮,若是开漏输出,就不能点亮LED)。
推挽输出这个功能是比较常用的功能,我们一般输出控制某个信号,基本上都是配置为GPIO_Mode_Out_PP 推挽输出。
推挽输出电流大小也是比较关键的一个参数,根据芯片不同,其大小也不同,具体可以查看数据手册:
6.GPIO_Mode_AF_OD 复用开漏输出
复用开漏输出:该模式和上面“GPIO_Mode_Out_OD开漏输出”类似,只是它引脚对应的功能具有复用的功能。前面文章【硬件I2C读写EEPROM】里面就是使用了该功能。
7.GPIO_Mode_AF_PP 复用推挽输出
复用推挽输出功能和推完功能类似,主要用在具有复用功能的情况下,比如USART的TX引脚等。
上一篇:为什么项目中的代码需要有Assert断言语句?
下一篇:可变参数宏__VA_ARGS__的用法
推荐阅读最新更新时间:2024-11-01 00:43
设计资源 培训 开发板 精华推荐
- SC185 4A 同步降压稳压器的典型应用
- EVAL-ADF7020-1DBZ4,ADF7020-1 ISM 频段收发器评估板
- #第七届立创电赛#小电流表
- NCP330MUTBGEVB:受控 3.0 A 负载开关、软启动、评估板
- 基于powerSTEP01的大功率步进电机驱动器扩展板,用于STM32 Nucleo
- NCP606 500mA、低 IGND、CMOS LDO 稳压器的典型应用,带/不带使能和可调版本的增强型 ESD 保护(1.25 V < Vout <= 5.0 V)
- 使用 Analog Devices 的 LT3468ES5-1 的参考设计
- #第五届立创电子设计大赛#家庭环境监测及报警器
- LTC3890HUH 高效 12V/25A 双相降压转换器的典型应用电路
- DC2077A,基于 LTC6431-20 50 欧姆、20dB 增益模块中频放大器的演示板
- AMD推出第二代Versal Premium系列产品:首款PCIe 6.0和CXL 3.1的SoC FPGA
- 红帽宣布达成收购Neural Magic的最终协议
- 5G网速比4G快但感知差!邬贺铨:6G标准制定应重视用户需求
- SEMI报告:2024年第三季度全球硅晶圆出货量增长6%
- OpenAI呼吁建立“北美人工智能联盟” 好与中国竞争
- 传OpenAI即将推出新款智能体 能为用户自动执行任务
- 尼得科智动率先推出两轮车用电动离合器ECU
- ASML在2024 年投资者日会议上就市场机遇提供最新看法
- AMD将裁员4%,以在人工智能芯片领域争取更强的市场地位
- Arm:以高效计算平台为核心,内外协力共筑可持续未来