历史上的今天
今天是:2024年08月27日(星期二)
2018年08月27日 | STM32 IO口的八种方式的解释
2018-08-27 来源:eefocus
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 的SPI总线配置
下一篇:STM32的8种IO口的模式
史海拾趣
|
引言: 单片机也称为微控制器(MCU Microcontroller Unit)是最典型、最广泛、最普及的嵌入式系统。目前我国大学,中等专业学校,职业学校,职工进修, 社会培训等,都已经广泛开设单片机教学课程和进行单片机教学。 随着SOC(片上系统)目前日新月异 ...… 查看全部问答> |
|
/********* CH375的INT#引脚连接51单片机的INT0引脚, 采用中断方式 *********/ /***************** CH375中断服务程序,使用寄存器组1 *********************/ void CH375Interrupt( ) interrupt 0 using 1 { unsigned char s, len; CH37 ...… 查看全部问答> |
|
大家想问大家几个问题,刚写了几个问题,居然发送失败,只好简单的再写写。 1.当板子Linux运行起来,超级终端就相当于Linux的一个终端了吗? 2.板子和宿主机通过以太网通信应该也在超级终端上吧,是不是运行了像mount命令就用以太网了? 3.板子 ...… 查看全部问答> |
|
最近想搞multi bin后来发现我的bootloader是优龙的,不支持binfs分区格式化, 我想把eboot下的代码移植过来,应该可以的。 但是我对则个binfs有点疑惑。按照道理说,binfs是针对nk.bin的,但是我们下载的时候却是nk.nb0,有些人下载nk.bin,但是 ...… 查看全部问答> |
|
下面是程序源码,计算机发送数据,wince根本就接受不到数据,而wince科研发送数据,计算机能够正常接收!调试发现if (ComStat.cbInQue > 0) 这个条件总是不满足,所以根本没有进行readfile操作,希望大家能够帮助!还有一点是,读串口操作是在主程 ...… 查看全部问答> |
|
STM8电机中的一段汇编,但是看了一下,就是看不明白是什么意思。低码如下: ;********************* PHASE U duty cycle processing *************************** ld A,(_SINE3RDHARM,Y) ; Get entry from table----这是查正弦表,最大128 ...… 查看全部问答> |
|
我在touch部分的驱动中在申请到系统中断号之后,调用KernelIoControl(IOCTL_HAL_DISABLE_WAKE, &gIntrTouch, sizeof(gIntrTouch), NULL, 0, NULL);想屏蔽掉触屏唤醒的功能,但是重新烧NK没有效果,休眠后点击触屏仍然可以唤醒,是这样没有做对还是 ...… 查看全部问答> |
|
在了解ek-lm3s811时,看到uart_echo的demo,想要用到自己的项目中,但后来出现不能回显得问题,所以就新建了一个项目,将uart_echo项目中的源码拷贝到新项目中,一切都按照demo中的项目配置,编译下载后,仍然出现不能回显得问题,而且项目配置一样 ...… 查看全部问答> |




