STM32 GPIO的8中种配置模式

发布者:那是一条路都最新更新时间:2016-10-11 来源: eefocus关键字:STM32  GPIO  配置模式 手机看文章 扫描二维码
随时随地手机看文章
STM32的GPIO引脚可以配置成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            复用推挽输出
 
这8中模式可以软件编程,IO端口位的基本机构如下图所示:
STM32 GPIO的8中种配置模式 - ziye334 - ziye334的博客
IO口的这8中模式在图中IO口结构中都已经体现出来了。下面的就稍微地讲讲。
GPIO_Mode_AIN模拟输入模式在上图的在结构图中没有做任何没有做任何处理,直接输入什么信号就是讲信号直接传入芯片中。
GPIO_Mode_IN_FLOATING线控输入模式跟GPIO_Mode_AIN差不多,信号也是不做任何处理直接传入芯片。
这里需要注意的是,上面这两种模式,名字上虽说是输入,但实际上是可以用作输出的。换句话说是,GPIO_Mode_AIN与GPIO_Mode_IN_FLOATING这两种模式下,即可用做输入也可用输出,最好的例子是官方例程中,DAC产生正弦波的输出引脚配置就是把引脚配置成GPIO_Mode_AIN,而它却是用于波形输出的。
GPIO_Mode_IPD下拉输入模式对应着结构图中输入带下拉电阻的那部分电路,如下图所示:
STM32 GPIO的8中种配置模式 - ziye334 - ziye334的博客
 如果把IO口配置成这种模式,图中的开关就会闭合。
GPIO_Mode_IPU上拉输入模式对应着结构图中输入带上拉电阻部分的电路,如下图所示:
STM32 GPIO的8中种配置模式 - ziye334 - ziye334的博客
 如果把IO口配置成这种模式的话,图中的开关就会闭合。
GPIO_Mode_Out_OD开漏输出与GPIO_Mode_Out_PP推挽输出都对应的电路图,如下:
STM32 GPIO的8中种配置模式 - ziye334 - ziye334的博客
 当IO口配置成GPIO_Mode_Out_OD开漏输出时,图中P-MOS不工作(只图中P-MOS的栅极输入高电平)就相当于一个阻值很大的电阻,这时候,只剩下N-MOS工作,控制它的栅极为高,则由于P-MOS看成了一个上拉电阻IO口直接输出高电平,当他的栅极为低,N-MOS打开直接输出低。这就是开漏输出。
当IO口配置成GPIO_Mode_Out_PP推挽输出时,P-MOS与N-MOS则配合工作,他们的栅极控制信号互斥,当P-MOS为导通状态时,N-MOS则为截止状态,IO引脚直接输出高电平;当P-MOS为截止状态时,N-MOS为导通状态,则IO口输出低电平。这就是推挽输出的原理了。
GPIO_Mode_AF_OD复用开漏输出与GPIO_Mode_AF_PP复用推挽输出的基本原理与上面的GPIO_Mode_Out_OD与GPIO_Mode_Out_PP差不多,它的输出控制单元的控制信号还要陪配合的AF输出线控制,如图所示:
STM32 GPIO的8中种配置模式 - ziye334 - ziye334的博客
 图中的控制线 Alternate Function Output参与控制输出。
 
GPIO_Mode_AIN适用场合:
ADC与DAC通道引脚、
GPIO_Mode_IN_FLOATING适用场合:
外部中断引脚、串口RX引脚、SPI的SCK引脚、定时器通道引脚输入捕获
GPIO_Mode_IPD适用场合:
特殊场合,需要下拉电阻的(暂时想不到)。
GPIO_Mode_IPU适用场合:
CAN RX引脚、
GPIO_Mode_Out_OD适用场合:
特殊场合(暂时想不到)
GPIO_Mode_Out_PP适用场合:
IO口通常输出配置、
GPIO_Mode_AF_OD适用场合:
I2C的SCL与SDA引脚、
GPIO_Mode_AF_PP适用场合:
CAN TX引脚、串口TX引脚、SPI的从模式的MISO与主模式的MOSI引脚、定时器通道引脚输出、
关键字:STM32  GPIO  配置模式 引用地址:STM32 GPIO的8中种配置模式

上一篇:STM32 生成7路PWM波
下一篇:STM32定时器要点

推荐阅读最新更新时间:2024-03-16 15:14

STM32 DMA->内存到内存
基于STM32 F401 Discovery板: DMA2在AHB1总线上 步骤一:使能DMA #define DMA_STREAM_CLOCK RCC_AHB1Periph_DMA2 RCC_AHB1PeriphClockCmd(DMA_STREAM_CLOCK, ENABLE); 步骤二:reset DMA Stream register: /* Reset DMA Stream registers (for debug purpose) */ DMA_DeInit(DMA_STREAM); 步骤三: /* Check if the DMA Stream is disab
[单片机]
<font color='red'>STM32</font> DMA->内存到内存
STM32的IAP方案
简介:本文将讲述一个STM32的综合性应用示例,该示例将涉及到STM32微控制器的时钟系统、GPIO、定时器、中断系统、异步串口以及内置可编程flash等设备的应用,作为一个综合性实验的同时还具有很强的“实用”意义。这个示例就是STM32的IAP方案。 几乎所有的同类书籍都介绍综合性的应用示例如“万年历 +温度显示+闹钟响铃+计时表”这样的一个实时时钟范例或“STM32 +音频解码+大容量存储方案”这样的MP3播放器范例。这些综合性实例的目的在于引领读者进行综合性实验,达到把单片机的基础模块整合运用的目的。这些实例普遍存在一种共同点,即“练手”意义要大于“实用”的意义。本文将讲述一个STM32的综合性应用示例,该示例将涉及到S
[单片机]
STM32F0xx_ GPIO配置详细过程
前言 对于初学STM32的人来说,很多基础的知识没有掌握,这些基础知识就成为阻挡他们入门的门槛。因此,今天也把基础的知识分享出来,带领那些还没有迈过这个门槛的人入门。 今天总结“GPIO配置详细”,以F0标准外设库初始化结构体来重点讲解。接着昨天“新建软件工程详细过程”来进行讲解,今天分两大部分内容总结。工程描述、IO配置源代码详细讲解。 ST标准外设库和参考手册、数据手册等都可以在ST官网下载的到(请自行下载)。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文)2015-07”建议使用这个,以后如果你换用一种型号芯片也方便了解。 今天提供下载的软件
[单片机]
STM32F0xx_ <font color='red'>GPIO</font><font color='red'>配置</font>详细过程
STM32学习:ADC/DMA/USART
  学习STM32的ADC转换,在开发板上写程序调试。   四个任务:   1.AD以中断方式(单次)采集一路   2.AD以中断方式连续采集四路   3.AD以DMA方式采集一路,DMA深度为一级   4.AD以DMA方式采集四路,每路DMA深度为28级,并滤波,说明滤波原理。   总结:   第一个任务:ADC以中断方式采集一路ADC,通过配置ADC_InitStructure结构体中的ADC_ScanConvMode,它规定模数转换工作在扫描模式(多通道)还是单次模式(单通道),   ADC_InitStructure.ADC_ScanConvMode=DISABLE,为单通道单次模式。   ADC_ContinuousCo
[单片机]
全网最全STM32 HAL的知识总结
ST 为开发者提供了非常方便的开发库:有标准外设库(SPL库)、HAL 库(Hardware Abstraction Layer,硬件抽象层库)、LL 库(Low-Layer,底层库)三种。前者是ST的老库已经停更了,后两者是ST现在主推的开发库。 相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,ST新出的芯片已经没有STD库了,比如F7系列。目前,HAL库已经支持STM32全线产品。 通过文字描述可以知道HA
[单片机]
STM32的MDK工程建立
折腾了两天,终于了解了整个固件库工程里的结构,把整个流程记录下来以备以后查看 1、在MDK中建立一个新工程,指派芯片 2、添加启动文件,位于..\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm中。 注:这里使用的是MDK,如果使用其他编译工具GNU或IAR可在对应文件夹下找到 3、添加STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c及\STM32
[单片机]
意法半导体新型STM32系列获ARM RealView微控制器开发工具包支持
中国上海,2007年6月27日 —— ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)宣布即日起,RealView微控制器开发工具包将支持意法半导体基于ARM Cortex-M3处理器的全新 STM32F1xx系列器件。    STM32F101 (接入行)和STM32F103 (性能行)将是意法半导体首个基于ARM Cortex-M3处理器的器件系列,兼具卓越的高性能和低功耗,待机功耗仅为2?A。该系列器件拥有高达72MHz的CPU时钟速度、128Kbyte片上闪存ROM及20Kbyte片上RAM,还包括A/D、CAN、USB、SPI、I2C等众多外设及多达80个GPIO。    RealView微控制器开发工具包3.1可
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved