三态逻辑
1. 概念
三态指其输出既可以是一般二值逻辑电路,即正常的高电平(逻辑1)或低电平(逻辑0),又可以保持特有的高阻抗状态。高阻态相当于隔断状态(电阻很大,相当于开路)。
三态门结构
高阻态是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。
处于高阻抗状态时,输出电阻很大,相当于开路,没有任何逻辑控制功能。高阻态的意义在于实际电路中不可能断开电路。三态电路的输出逻辑状态的控制,是通过一个输入引脚实现的。
三态门都有一个EN控制使能端,来控制门电路的通断。 可以具备这三种状态的器件就叫做三态器件。当EN有效时,三态电路呈现正常的“0”或“1”的输
出;当EN无效时,三态电路给出高阻态输出。
GPIO管脚上拉和下拉
GPIOx_PUPDR是GPIO的一个寄存器,即:GPIO port pull-up/pull-down register。翻译过来就是GPIO端口上拉/下拉寄存器,顾名思义是控制GPIO端口是上拉还是下拉的一个寄存器。那么什么是上拉下拉呢?先看看它的值:
00: No pull-up, pull-down
01: Pull-up
10: Pull-down
11: Reserved
即无上拉下拉,上拉,下拉。保留。可以看出可以取00,01,10三个值,11是为程序设计扩展而保留的值。
百度上拉,下拉可知:
上拉和下拉是指GPIO输出高电位(上拉)还是低电位(下拉)。
上拉就是输入高电平,然后接一个上拉电阻(起保护作用),知道上拉就表示该端口在默认情况下输入为高电平。
下拉就相反了,指输入低电平,然后接一个下拉电阻。
那么,什么是高电平,什么是低电平呢?这是电路方面的知识,百度百科讲的,表示不太懂。
上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。
下拉同理。也是将不确定的信号通过一个电阻钳位在低电平。
不过从程序设计的角度讲,
上拉就是如果没有输入信号则此时I/O状态为1,下拉相反。
具体配置为上拉还是下拉,要看电路图。看外部有没有上下拉电阻。
这有个参考,我没看完,已经晕了,发出来:
http://wenku.baidu.com/link?url=a1b2xS3LCsvCsspl-lrq6hOqBaujD1x2rc9ucmr0xFTyQ9aBl1wq4L5EhIfTlBDLrF_w8WZUJTiED6EwWxRW7QPFPD1s54z_TzZ9XFn2Ga3