在Cortex-M3里,对于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 复用推挽输出
I/O端口位的基本结构
1、推挽输出
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。
2、开漏输出
输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
开漏形式的电路有以下几个特点
a、利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电压。
b、开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的沿的速度 。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)
c、可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。
弱点:带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。
3、复用开漏输出、复用推挽输出
理解为GPIO口被用作第二功能时的配置情况
4、浮空输入
由于浮空输入一般多用于外部按键输入,浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
5、上拉输入模式
区别在于没有输入信号的时候默认输入高电平(因为有弱上拉)。上拉电阻就是为了保证无信号输入时输入端的电平为高电平,同样还有下拉电阻它是为了保证无信号输入时输入端的电平为低电平。
6、下拉输入模式
区别在于没有输入信号的时候默认输入低电平(因为有弱下拉)
7、模拟输入
输入模拟信号
在STM32中常用IO模式
(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1
(2)带上拉输入_IPU——IO内部上拉电阻输入
(3)带下拉输入_IPD—— IO内部下拉电阻输入
(4) 模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电
(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能
(6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的
(7)复用功能的推挽输出_AF_PP ——片内外设功能(TX1,I2C的SCL,SDA)
(8)复用功能的开漏输出_AF_OD——片内外设功能(MOSI,MISO.SCK.SS)
通常有5种方式使用某个引脚功能,它们的配置方式如下:
1)作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。
2)作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。
3)作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
4)作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。
5)作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。
如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。
关键字:STM32GPIO 工作模式
引用地址:
STM32GPIO八种工作模式区别
推荐阅读最新更新时间:2024-03-16 16:00
关于STM32中GPIO的8种工作模式
1 综述 I/O口是单片机中非常常用的外设,STM32的I/O口有8种状态,虽然一直在使用过程中没有遇到什么问题,但是一直都不是很清楚,因此这里做一个总结(实际上这里的概念也是和STM8等其他单片机,理解了这8中状态,也就基本上理解了大部分I/O口)。 2 庐山真面目 我们在库文件中的 stm32f10x_gpio.h 中可以看到如下代码: typedefenum { GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, GPIO_Mode_Out_OD =
[单片机]
ST全新微控制器STM32U5系列可大大降低工作模式功耗
半导体供应商意法半导体推出了新一代超低功耗微控制器STM32U5*系列,以满足穿戴、个人医疗、家庭自动化和工业传感器等对低功耗有严格高要求的智能应用设备。 STM32 MCU基于高效节能的Arm®Cortex®-M处理器处于市场领先,已经被广泛应用于家电、工业控制、计算机外设、通信设备、智慧城市及基础设施等数十亿个设备中。 新的STM32U5系列应用高能效的Arm Cortex-M33内核,集成意法半导体专有的创新节能技术和片上IP,在提升系统性能的同时极大降低了系统功耗。新产品系列应用各类新的设计,匹配现代应用发展,其中有,先进的网络安全功能,支持PSA和SESIP(物联网平台安全评估标准) 3级保证标准的安全硬件
[单片机]
MSP430工作模式
1,工作模式简介 MSP430单片机在低功耗方面的表现是非常优秀的,非常适合手持设备的应用。MSP430通过软件控制其时钟系统可以工作在多种工作模式,包括一种活动模式和五种低功耗模式,通过这些工作模式,可合理的利用系统资源,实现整个应用系统的低功耗。 2,运行模式 MSP430的运行模式以先进的方式支持超低功率和超低功耗的各种要求。这是通过各模块的智能化管理和CPU的状态组合而成。一个中断事件将系统从各种运行模式中唤醒,而RETI指令又使运行返回到中断事件发生前的运行模式。 MSP430系列为超低功耗应用开发出采用不同功耗水平的运行模式。 用CMOS技术设计超低功耗系统有三个主要目的: ※解决运行速度和数据
[单片机]
M16的T1 16位定时器一共有15种工作模式,其他2个8位定时器
分5种工作类型 1 普通模式 WGM1=0 跟51的普通模式差不多,有TOV1溢出中断,发生于TOP时 1 采用内部计数时钟 用于 ICP捕捉输入场合---测量脉宽/红外解码 (捕捉输入功能可以工作在多种模式下,而不单单只是普通模式) 2 采用外部计数脉冲输入 用于 计数,测频 其他的应用,采用其他模式更为方便,不需要像51般费神 2 CTC模式 WGM1=4,12 跟51的自动重载模式差不多 1 用于输出50%占空比的方波信号 2 用于产生准确的连续定时信号 WGM1=4时, 最大值由OCR1A设定,TOP时产生OCF1A比较匹配中断
[单片机]
《ARM与Linux些许问题》第二章:Linux操作系统与ARM工作模式
====================================================================================================================================== 首先,ARM开发板在刚上电或复位后都会首先进入SVC即管理模式,此时、程序计数器R15-PC值会被赋为0x0000 0000;bootloader就是在此模式下,位于0x0000 0000的NOR FLASH或SRAM中装载的,因此、开机或重启后bootloader会被首先执行。 接着,bootloader引导Linux内核,此时、Linux内核一样运行在A
[单片机]
绿色工作模式PWM控制器SG6840/SG6841解析方案
1. 概述
绿色工作模式PWM控制器SG6840/SG6841具有许多特殊的功能和完善的保护特性。在备用状态下,PWM工作频率自动降低,功耗减小,但输出电压仍保持稳定不变,该器件采用Bi-CMOS工艺制造,起动电流和正常工作电流大大减小,因此电源转换效率较高。起动电流典型值只有30μA,工作电流也只有3mA。在正常工作状态下,SG6840/SG6841为固定频率PWM控制器。工作过程中,开关电源的负载减轻时,PWM工作频率将随之降低,这种绿色工作模式可显著减小空载和轻载时开关电源的功率损失,有助于满足恒定输出功率的要求。该器件中还采用了同步斜率补偿技术,它可以确保连续模式工作时电流回路的稳定性。该器件内含电源电压补偿电路,因此
[嵌入式]
Cortex-M3工作模式与异常
一、工作模式 线程模式和手柄模式。 当处理器处在线程状态下时,既可以使用特权级,也可以使用用户级;另一方面, handler模式总是特权级的。在复位后,处理器进入线程模式+特权级。 二、异常和中断 Cortex-M3 支持大量异常,包括 16-4-1=11个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了 SysTick的之外,全都连接到 NVIC 的中断输入信号线。典型情况下,处理器一般支持 16 到 32 个中断。 类型编号为 1-15 的系统异常,从 16 开始是外部中断类型。 三、向量表 因为地址 0 处应该存
[单片机]
MAX9949/MAX9950参数测量单元PMU工作模式
概述 MAX9949/ MAX9950 是双通道参数测量单元( PMU ),具有四种主要工作模式: FIMI—加流/测流 FIMV—加流/测压 FVMI—加压/测流 FVMV—加压/测压 本文没有讨论两种辅助操作模式,即:无加载信号/测压(FNMV)和无加载信号/测流(FNMI)。关于这两种模式的详细信息,请参照数据资料。 这篇应用笔记分章节讨论四种主要工作模式,每个章节根据等效框图说明芯片的功能。利用公式解释工作原理,并给出了配置实例。针对FIMI模式的表格给出了进一步的设计案例,MAX9949/MAX9950针对不同类型的ADC与MSR引脚连接进行配置。用户可以参考这些实例、配置、公式和表格,设置特殊的工作模式
[模拟电子]