【STM32基础学习】八种GPIO模式总结
2023-09-11 14:20:36 时间
八种IO模式再现
(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
复用推挽输出
解释速查
-
浮空输入
_IN_FLOATING
- 浮空输入,通常用作
KEY
识别
- 浮空输入,通常用作
-
带上拉输入
_IPU
- IO内部上拉电阻输入,默认电平是高
-
带下拉输入
_IPD
- IO内部下拉电阻输入,默认电平是低。
-
模拟输入
_AIN
- 通常用作
ADC
模拟输入
- 通常用作
-
开漏输出
_OUT_OD
- IO输出0 - GND,IO输出1 - 悬空(高阻态),需要外接上拉电阻,才能实现输出高电平。
- 可以读IO输入电平变化
- 开漏也可以用来连接不同电平的器件,匹配电平用的,具体实现方法就是上拉不同阻值的电阻然后接相应的电平。
-
推挽输出
_OUT_PP
- 可做到真正的高低电平,且具有大的驱动能力。(拉灌电流能力强)IO输出0-GND, IO输出1 -VCC
-
复用功能的推挽输出
_AF_PP
- 片内外设功能(I2C的SCL,SDA)
-
复用功能的开漏输出
_AF_OD
- 片内外设功能(TX1,MOSI,MISO.SCK.SS)
所谓的复用:STM32的其他片上外设对GPIO引脚进行控制,此时GPIO引脚用作该外设功能的一部分,算作第二功能。
比如USART通信,把某个GPIO配置为USART串口复用功能,由串口外设控制该引脚,进行输入输出数据。
STM32的GPIO模式总结:
1、输入模式 (模拟,浮空,上拉,下拉)下,输出被禁止。
2、输出模式(推挽、开漏)下,输入仍然可用!
3、复用功能(推挽、开漏)下,输出寄存器(比如ODR)无效,输出源来自其他片内外设,输入仍然可用!
STM32的GPIO模式习惯用法:
RXD/按键,配置为浮空输入
ADC,配置为模拟输入
蜂鸣器与 LED ,配置为推挽输出
DHT11/模拟I2C,配置为开漏输出
TXD(USART属于片上外设) ,配置为复用推挽输出
参考
《STM32库开发实战指南 - 基于STM32F103 第二版》
一个很好的资料链接:https://pan.baidu.com/s/16uAtBMX-Da5f8CMcUzhZTQ (提取码:rynt)
相关文章
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
- Vue.js基础体验(一)
- Java实现 蓝桥杯VIP 基础练习 龟兔赛跑预测
- “消息驱动、事件驱动、流 ”基础概念解析
- Atitit 前端技术体系 目录 1. 基础系列2 1.1. NUI CLI GUI2 1.2. MVC WEBFORM PAGE模式 stage模式2 2. 技术应用系列2 2.
- 生活中的5 个自动化Python 项目——从初学者到高级(附零基础学习教程)
- 〖Python零基础入门篇⑳〗- 字符串格式化
- 机器学习基础:六种方法帮你解决模型过拟合问题
- 【深度学习】数学基础
- Java学习路线-40:Java数据库编程基础操作
- 編程的本質:编程也应像其他科学和工程领域一样基于坚实的数学基础
- jQuery学习总结(一)——jQuery基础与学习资源
- PowerDesigner最基础的使用方法入门学习
- Tui-x 基础使用
- atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系
- 利用MySQL玩转数据分析之基础篇
- 零基础小白学习软件测试需要多久?
- linux达人养成计划学习笔记(八)—— shell基础
- java===java基础学习(1)---数据类型,运算,变量,常量
- 【第01天】A + B | 基础输入输出,开启学习Java旅程
- 区块链将成为互联网基础协议,类似于TCP/IP、HTTP
- Python基础(适合初学-完整教程-学习时间一周左右-节约您的时间)
- pytorch学习笔记(九):卷积神经网络CNN(基础篇)