因项目需要,今天重新好好研究并设置了一番:
你说的悬空脚省电问题,还是按最新手册以上注意事项特别说明为好。
一是当引脚设置输出为低时,它的驱动能力很强,可吸收相当大的电流,万一测试时短路不够安全。
二是按手册设定,对于3.3V 单片机,“极弱上拉”晶体管的电流才约 5uA几乎不耗电,抗干扰能力强;
手册:
9.3.1 准双向口(弱上拉)
准双向口( 弱上拉) 输出类型可用作输出和输入功能而不需重新配置端口输出状态。这是因为当端
口输出为 1 时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收
相当大的电流。准双向口有 3 个上拉晶体管适应不同的需要。
在 3 个上拉晶体管中,有 1 个上拉晶体管称为“弱上拉”,当端口寄存器为 1 且引脚本身也为 1 时打
开。此上拉提供基本驱动电流使准双向口输出为 1。如果一个引脚输出为 1 而由外部装置下拉到低时,
弱上拉关闭而“极弱上拉”维持开状态,为了把这个引脚强拉为低,外部装置必须有足够的灌电流能力
使引脚上的电压降到门槛电压以下。对于 5V 单片机,“弱上拉”晶体管的电流约 250uA;对于 3.3V 单
片机,“弱上拉”晶体管的电流约 150uA。
第 2 个上拉晶体管,称为“极弱上拉”,当端口锁存为 1 时打开。当引脚悬空时,这个极弱的上拉源
产生很弱的上拉电流将引脚上拉为高电平。对于 5V 单片机,“极弱上拉”晶体管的电流约 18uA;对于
3.3V 单片机,“极弱上拉”晶体管的电流约 5uA。
第 3 个上拉晶体管称为“强上拉”。当端口锁存器由 0 到 1 跳变时,这个上拉用来加快准双向口由逻
辑 0 到逻辑 1 转换。当发生这种情况时,强上拉打开约 2 个时钟以使引脚能够迅速地上拉到高电平。
准双向口( 弱上拉) 带有一个施密特触发输入以及一个干扰抑制电路。准双向口( 弱上拉) 读外部
状态前,要先锁存为 ‘ 1’ ,才可读到外部正确的状态. |