用的是MSP430 F5529,想用P2.5做输入,检测一个普通的急停开关,常置高,按下时拉低;
原来用1K的限流电阻将P2.5与3.3V电源相连,但是程序不能检测到高(尝试100欧姆的也不行);后来去掉限流电阻,就可以了;
考虑到安全性问题,查阅了用户手册后,想用内置的上拉电阻;但是程序如下声明:
P2DIR &= ~0x20;P2REN |= 0x20;P2OUT |= 0x20;
却发现P2.5默认不是高、我可以确认程序没问题
想问下:
内置上拉电阻是不是只能提高驱动能力,而不是将输入端口默认高电平??? 如果是的话,我是不是应该将P2.5通过限流电阻接到VCC(默认高),然后按下急停时拉低????
[
本帖最后由 yylooker 于 2011-7-18 10:54 编辑 ]
此帖出自
小平头技术问答
2、外接上拉至3.3V电源却测不到高电平忒没道理,这点至关重要,请好好查查。容易联想到的问题是I/O方向没设好,或者CPU不是用的3.3V电源。
3、“默认高电平”的表述不太理解,如果仅使用了内置上拉而未外接电阻,那么在CPU初始化完成之后该I/O脚被置为高电平。
4、内置上拉只是在需要时为了省一个外接电阻,一般跟提高驱动能力扯不上关系,严格讲没准还会降低驱动能力呢。
P2DIR &= ~0x20;
P2REN |= 0x20;
P2OUT |= 0x20;
你本身是读取他IO口上的电平信号却又让他输出为高。不解。
一周热门 更多>