初始化IO输入输出时各位前辈是怎么做的呢?求教
[复制链接]
小弟新手,近日碰到一个离奇的问题,求各位前辈指点一下: 使用芯片:MSP430F47197 使用LCD芯片:ST7565P 使用蓝牙:BLK-MD-BC04-B 问题描述: 开机以后再没有打开电源的情况下,连着仿真器,当程序走到初始化LCD控制脚IO口(P5DIR |= 0XFF,输出方向)的时候,LCD的VDD脚(即电源脚)会变为2.65V,结果LCD上电了。而这个时候电源电源电路的输出是0(电源输出端和LCD电源脚之间有一个二极管,只允许电源对外输出)。奇怪的是,如果初始化的是LCD数据输入脚就没有问题(方向同样是输出方向)。 其实蓝牙也有这种情况,但是因为是初始化控制蓝牙上电的IO口,而且初始化后LCD的VDD电压只升到1.56V,所以并没有导致LCD上电,所以没有发现。还有就是如果先初始化了LCD控制脚IO口,那么电压升到2.65V后,再初始化蓝牙电源控制脚,电压就不会上升了;反之,先初始化蓝牙再初始化LCD,就会出现0V-1.56V-2.65V的电压变化顺序。 最后无奈,小弟试着将LCD控制脚IO口的电平拉低(不知道这样对LCD会不会被当做输入),结果电压就降回0V了。但是同样的方法,蓝牙的就搞不定了,因为如果控制蓝牙电源的脚如果拉低就会给蓝牙上电了。所以现在蓝牙还有这个问题。或许修改一下蓝牙的上电电平,比如高电平上电或许会有用吧。 说到这里,小弟奇怪的是:为什么LCD的控制位高电平会导致LCD的电源脚输出高电平呢?难道他们内部是联通的? 同时需要请教各位前辈的是,不知各位前辈在初始化IO脚的时候是怎么设定方向和电平的? 请各位前辈指点一下吧,小弟在这里谢谢各位啦~~ ps: IC和LCD的控制脚之间是直连的,中间没有其他的电路或者元器件;
|