微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > stm32 复位io默认输出

stm32 复位io默认输出

时间:11-25 来源:互联网 点击:
看到手册上说复位期间和复位后,I/O口是浮空输入。

复位之后,是ODR的值。而ODR的值在复位后是0。这样理解的话就是复位后是低电平吧?开漏或者推挽模式会怎么影响呢?

浮空的时候电平不受ODR控制.
开漏的时候,也不受ODR控制.
推挽的时候,受ODR控制.
所以,复位的时候,IO电平不高不低的,可能在1.6V左右.

浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了.
开漏,就等于输出口接了个NPN三极管,并且只接了e,b.c极是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了.
推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻.

那推挽岂不是无敌了,缺陷呢?

比如你要输出5V高电平,推挽就达不到。

开漏为什么不受ODR控制呢?
手册:开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。

开漏不是不收ODR控制,还是受控,只是把上方的PMOS给禁止了,靠的是“外力”。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top