STM32端口输入输出模式配置
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结构图可能更有利于理解:
STM32端口输入输出模式配置的更多相关文章
- STM32 输入捕获配置
在STM32 的定时器,除了 TIM6 和 TIM7,就是通过检测 TIMx_CHx 上的 边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候, 将当时定时器 的值(TIMx_CNT) 存放到对 ...
- STM32端口复用和映射
STM32的功能引脚重映射和复用功能STM32中有很多内置外设的输入输出引脚都具有重映射(remap)的功能,本文对一些在使用引脚重映射时所遇到的有关问题加以说明.我们知道每个内置外设都有若干个输入输 ...
- stm32单片机时钟中断的配置
原作者:http://www.eeworld.com.cn/mcu/article_2016082828940.html 配置流程: 1:系统时钟初始化,包括系统时钟和要开放的IO口或者功能的时钟 ...
- STM32 GPIO口的配置和应用
STM32F103ZET6 一共有7组IO口(有FT的标识是可以识别5v的) 每组IO口有16个IO 一共16*7=112个IO 4种输入模式: (1) GPIO_Mode_AIN 模拟输入 (2) ...
- STM32时钟系统的配置寄存器和源码分析
一.时钟系统 概述 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令,时钟系统就是CPU的脉搏,决定cpu速率. STM32有多个时钟来源的选择,为什么 STM32 要有多个时钟源呢 ...
- STM32之输入捕获以及小小应用(库)
五一之际,先祝大家五一快乐.其实快乐很简单,工作的人有假放,学习的人也有假放,像我,有假放才有更多的时间学自己想学的东西.51假期学51,可惜没有32假期呀.好了..言归正传,大家听过吸星大法吧..在 ...
- CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
第2课 CC2530的通用I/O端口输入和输出控制 广东职业技术学院 欧浩源 一.CC2530的引脚概述 CC2530微控制器采用QFN40封装,有40 个引脚.其中,有21个数字I/O端口,其中 ...
- 【CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
第2课 CC2530的通用I/O端口输入和输出控制 小蜜蜂科教 / 广东职业技术学院 欧浩源 [通用I/O端口视频教程:https://v.qq.com/x/page/x0793aol7us.ht ...
- STM32的外部中断配置及使用
STM32的外部中断配置及使用 配置1:GPIO: 配置外部中断为输入模式: 配置2:EXTI: 配置外部中断线和触发模式: 配置3:NVIC: 配置外部中断源和中断优先级: 需要注意的是:RCC_A ...
随机推荐
- cocos2d-x游戏引擎核心之六——绘图原理和绘图技巧
一.OpenGL基础 游戏引擎是对底层绘图接口的包装,Cocos2d-x 也一样,它是对不同平台下 OpenGL 的包装.OpenGL 全称为 Open Graphics Library,是一个开放的 ...
- PyQt4布局管理——绝对定位方式
PyQt4中的布局管理器 布局管理器是编程中重要的一部分.所谓布局管理器是指我们在窗口中安排部件位置的方法.布局管理器有两种工作方式:绝对定位方式(absolute positioning)和布局类别 ...
- win10下安装Oracle 11g 32位客户端遇到INS-13001环境不满足最低要求
在以管理员身份运行setup.exe之后,出现了:[INS-13001]环境不满足最低要求,通过网上搜索之后找到了解决途径 首先,打开你的解压后的database文件夹,找到stage,然后cvu,找 ...
- 如何搭建本地WordPress
今天就来介绍一下如何在Windows下搭建本地WordPress. 安装前准备 1.正常的电脑 2.PHPNow http://www.phpnow.org 这里面的PHPNow环境包其实包含了常见 ...
- iOS tableview上放textfield
用UITableViewController就可以了,处理键盘弹出和消失的代码已经封装在UITableViewController里了.
- iOS UITextField输入后隐藏键盘
1.首先在Interface Builder中选择TextFields,然后在Text Field Attributes中找到Text Input Traits,选择Return Key为done. ...
- RMAN概述及其体系结构
1 Recovery Manager(RMAN)特性 是一种用于集备份(backup).还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作 能够备 ...
- Java.lang的研究(分析包含的重要类和接口)
Java.lang包是Java中使用最广泛的一个包,它包含很多定义的类和接口. java.lang包包括以下这些类: Boolean Byte Character Class ClassLoader ...
- 学习认识Spring原理
学习认识Spring原理 Spring 是一种业务层框架.搭建Spring框架需要Spring开发包和commons-logging包.Spring的核心思想是控制反转也称依赖注入(创建者--(实例) ...
- [MongoDB] 机器换IP之后的设置
组里用的几台机器换了网段,MongoDB需要做重新配置. 查看Replica Set的状态如下: rs.status() { "startupStatus" : 1, " ...