1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!弱强只是上拉电阻的阻值不同,没有什么严格区分。
2、下拉输入:就是把电压拉低,拉到GND。与上拉原理相似。
3、浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。 通俗讲就是让管脚什么都不接,浮空着。
4、模拟输入:模拟输入是指传统方式的输入.数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。
5、推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。
6、开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
7、复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。
在STM32中选用IO模式,下面是参考网上的总结一下。
(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX
(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 ——片内外设功能(I2C的SCL,SDA)(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)
关键字:STM32 IO口 八种方式
引用地址:
STM32 IO口的八种方式的解释
推荐阅读最新更新时间:2024-03-16 16:12
STM32的CAN总线的标识符过滤器组使用注意事项
CAN总线的标识符过滤器很重要。 1. 标识符过滤器是用于接收的,发送的时候无需设置过滤器,这点一定要整明白。 根据发送端发送来的帧数据,通过标识符过滤器就可以设置仅接收需要接收的帧数据有效降低CPU多余的处理时间。 2 什么是标识符? 标识符主要包括如下,也可以简单的理解仅包含ID号,但是在这里下面这些都是要包含的。 比如:数据帧和遥控帧,标识符就包含在其中,所以发送端发帧数据给接收端后,接收端就可以通过硬件标识符过滤器进行筛选,节省了CPU时间: 3. 下面就是最重要的,STM32的CAN总线标识符滤波器组包含两种实现方法: 屏蔽位模式和标识符列表模式,这两种方式怎么理解呢,重点看下面的截图: 书面上解释
[单片机]
STM32FSMC机制FlaSh存储器扩展
STM32是ST(意法半导体)公司推出的基于ARM内核Cortex-M3的32位微控制器系列。Cortex-M3内核是为低功耗和价格敏感的应用而专门设计的,具有突出的能效比和处理速度。通过采用Thumb-2高密度指令集,Cortex-M3内核降低了系统存储要求,同时快速的中断处理能够满足控制领域的高实时性要求,使基于该内核设计的STM32系列微控制器能够以更优越的性价比,面向更广泛的应用领域。 STM32系列微控制器为用户提供了丰富的选择,可适用于工业控制、智能家电、建筑安防、医疗设备以及消费类电子产品等多方位嵌入式系统设计。STM32系列采用一种新型的存储器扩展技术——FSMC,在外部存储器扩展方面具有独特的优势,可根据
[单片机]
stm32实用篇4: stm32数据类型长度
由于经常会忘记stm32的数据类型长度,测试一下: DEBUG_INFO( stm32数据类型长度 ); DEBUG_INFO( char = %d byte. , sizeof(char)); DEBUG_INFO( short = %d byte. , sizeof(short)); DEBUG_INFO( int = %d byte. , sizeof(int)); DEBUG_INFO( long = %d byte. , sizeof(long)); DEBUG_INFO( long long = %d byte. , sizeof(long long)); DEBUG_INF
[单片机]
stm32专题十一:串口通信(一) USART理论
/************************************************************************************************************/ RS232(负逻辑):由三条线(RX、TX、GND)组成。-15v ~ -3v代表逻辑1,+3 ~ +15v代表逻辑0,这里的±是相对于GND而言。 RS485:与232不同,485采用差分双绞线。RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之问,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪
[单片机]
毕业设计| STM32+OneNET实现NB-IOT电量采集系统
实现的功能: 1)测量用电设备的有功功率、电流和电压有效值和用电量; 2)电参数通过NB-IoT上传到OneNET,可以在后台实时监控数据; 3)通过OneNET后台发送指令控制电参数是否上传(可以拓展继电器控制)。 02 需要的材料 需要的材料: 一个STM32芯片,我这里用的是正点原子的mini开发板,型号:STM32F103RCT6 ST-Link下载器,主要用来给STM32单片机下载程序的,有其他的仿真下载器也是可以的。当然,用串口也是可以下载的,就是比较麻烦,我比较喜欢用仿真器下载,一键完事! USB-TTL串口模块,这个是用来调试M5311模块的,可以不需要,因为mini开发板板载
[单片机]
通过按键控制IO口操作
今天对单片机按键有了一定的认识,单片机分为独立式键盘和矩阵式键盘,独立式占用IO口资源比较大,适合按键少的控制操作,其优点是设计编程一目了然,比较简单,矩阵式占用IO口比较少,适合对按键要求比较高而IO口资源比较宝贵的操作,这两者各有其优点和缺点,以后应用时要根据需要进行设计,特别是矩阵式的要利用行线,和列线的高低电平检测和处理数据信息的原理要记住。 下面把今天学的一个简单的通过按键控制IO口LED灯工作的程序写一下,呵呵,可以加深我对按键操作(ELSE语句)的理解。 #include reg52.h #define uint unsigned int #define uchar unsigned char sbit DIPsw
[单片机]
STM32驱动MAX6675读取温度
MAX6675是带冷端补偿的K型热电偶转换芯片,SO-8封装,精度12位,分辨率0.25℃,测量最高温度1023.75℃。也就是1024/(2的12次方)=0.25℃。 VCC-GND接3~5.5V电压; T+,T-分别接K型热电偶正负极; CS为片选,低电平有效; SCK为串行时钟,需要由STM32提供; SO为数据串行输出; 接线方式: MAX6675的输出方式是单片机输入时钟脉冲,MAX6675在时钟的下跳沿在SO管脚上输出数据。在数据手册第5页有时序说明,在6页有时序图,时序说明和时序图有差别。本人在读取数据过程中,发现按照时需说明操作,是正确
[单片机]
STM32如何收发float类型数据?
在之前文章里提到了共用体用来传输浮点数的用法,但那篇笔记中没有详细介绍,这篇笔记我们一起来看一看具体实例。 实际应用中,我们可能需要两个设备通过串口传输浮点数据: 本篇笔记为了方便演示,使用串口助手模拟其中一个设备,本篇笔记内容如下: 我们创建一个用于管理float类型数据的共用体: unionfloat_data { floatf_data; uint8_tbyte ; }; 数据的流向如: 本次使用串口助手模拟发送设备,省略了第一步,主要看第②、③步。 创建两个共用体变量,用于发送与接收: unionfloat_datarx_float_data,tx_float_data; 收发相关代码: 左
[单片机]