新闻中心

EEPW首页>嵌入式系统>设计应用> stm32 复位io默认输出

stm32 复位io默认输出

作者: 时间:2016-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给禁止了,靠的是“外力”。



评论


技术专区

关闭