锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

m0单片机io口_混子笔记之回顾单片机IO口工作模式

时间:2022-10-02 19:00:00 io口限流电阻

b3d050407e18d21a284c17c02bd23e0d.gifIO口模式回顾 b3d050407e18d21a284c17c02bd23e0d.gif

点滴分享 A int *p, i; B int i, *p=i; C int i, *p; D int *p=&i, i;(答案分析在文末!先做好看)

今天回顾记录单片机IO口,这里说的是GPIO,General Purpose Input Output (GPIO)。通用输入输出端口,简称GPIO口是单片机与其他外围设备和电路进行信息交换和控制的桥梁。

(下面以stm以32单片机为例)IO口模式主要包括:模拟输入、浮空输入、上拉输入、下拉输入、开漏输出、推挽输出、复用开漏输出和复用推挽输出。

1、模拟输入

GPIOModeAIN模拟输入,即关闭施密特触发器,将电压信号传送到片上外设模块(不接上下拉电阻)。应用ADC在低功耗下模拟输入或省电。

2、浮空输入

GPIOModeIN_FLOATING浮动输入。IO电平状态是不确定的,完全由外部输入决定。如果引脚悬挂,读取端口的电平是不确定的。可以做按钮识别。即使不连接上拉或下拉,外部电路的状态也是不确定的。

3、上拉输入

GPIOModeIPU上拉输入。IO一般来说,内部上拉电阻输入为1K-10K,电阻越小,驱动能力越强。GPIO引脚无输入时,上拉输入默认为高电平。

4、下拉输入

GPIOModeIPD下拉输入,IO与上比较了解内部下拉电阻输入。GPIO引脚无输入时,下拉输入默认为低电平。电阻功能:防止输入端悬挂,减少外部电流对芯片的干扰,限制流量,提高高电平输出的驱动能力。

5、开漏输出

GPIOModeOut_OD泄漏输出,输出端相当于三极管的集电极。需要上拉电阻才能获得高电平状态。适用于电流驱动,其吸收电流的能力相对较强,一般为20mA以内。IO输出0接GND,IO输出1,悬挂,需要外部上拉电阻才能实现高输出电平。当输出为1时,IO口的状态由上拉电阻拉高,但由于是泄漏输出模式,因此IO口可由外部电路改为低电平或不变。可以读IO实现输入电平的变化C51的IO双向功能。这就是为什么51单片机P0口之所以要接上拉电阻,P0是泄漏输出结构,不能输出高电平)

6、推挽输出

GPIOModeOut_PP推拉输出,可输出高、低电平,连接数字设备。推拉输出是因为它的输出结构类似于推拉结构,它由两个三极管(或其他)组成MOS管等)分别受到一个信号的控制,这信号的互补的,就是说只有一个三极管导通,一个三极管导通的时候另一个就要截止。推拉输出可输出高电平或低电平。当定器为1时,可以继续提供强上拉,这种输出结构可以驱动需要大电流的设备。

7、复用开漏

GPIOModeAF_OD复用开漏输出可理解为GPIO当口被用作第二个功能时,它不是通用的IO使用口腔。片内外设功能。(TX1,MOSI,MISO.SCK.SS(SPI))

8、复用推挽

GPIOModeAF_PP复用推挽输出,片内外设功能(I2C的SCL,SDA)

总结

引用别人说的好话

浮空,顾名思义,它漂浮在空中。上面用绳子拉起来,下面用绳子拉起来就下沉了。.

开漏,等于输出口接了一个NPN而且只接了三极管e,b.c极是开路的,你可以连接一个电阻到3.3V,也可以接一个电阻到5V,这样,当输出1时,它可以是5V电压,也可以是3.3V电压了.但是,当电阻不上拉时,高输出无法实现.

推挽,有推有拉,任何时候,IO口的电平是确定的,不需要外拉或下拉电阻.”

分析:本课题主要考察指针变量定义的相关问题 A选项定义了一个指向整型的变量的地址p和一个整型的变量i。这个定义是可以的。B选项定义了整形变量i和指向整形变量的地址p,变量p的值初始化为变量i,p这取决于i具体分配空间占用的地址。这个定义是可以的。C选项定义了整形变量i和指向整形变量的地址p。这个定义是可以的。D选项定义了指向整形变量的地址p,变量p的值初始化为变量i地址和整形变量i,但问题是变量i在*p=&i然后定义,编译器会报告一个error:‘i’undeclared,需要把i的定义放进去*p=&i以前,题目中的定义是不可能的。 如果上面有错误,希望各路大神指出,弟弟,我会感激的! 部分来自网络,未商用,用于技术知识传播! 扫码关注我——一个不正经的混子-

点我留言

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章