因为LPC2136和MT8888之间无法直接连接,所以用下图的方式做了一个电平转换,结果发现其中P0.4、P0.5、P0.6均无法输出(好象已经烧坏),但P1.25却一切正常,令我百思不得其解........<br />1、如果是IO口真的损坏了,是什么原因导致它损坏的?<br />2、如果没坏,为什么用如下程序对IO口操作没有任何反应(就算把245拿掉,也没有反应了)?<br /><br />#define p_IO0 1 << 4 // P0.4<br />#define p_IO1 1 << 5 // P0.5<br />#define p_IO2 1 << 6 // P0.6<br /><br />//子程序声明<br /><br />/**/<br />int main (void)<br />{<br /><br /><br /> IO1DIR = IO1DIR | p_LED1 ;<br /> IO1DIR = IO1DIR & ( 0xFFFFFFFF - p_KEY1 ) ; //KEY管脚方向为输入<br /><br /><br /> /**/<br /> while(1)<br /> {<br /> PINSEL0 = 0 ;<br /> AD0CR = 1 ; <br /> IO0CLR=p_IO3; <br /> <br /> IO0DIR = IO0DIR | ( p_IO0 | p_IO1 | p_IO2 | p_IO3 | p_IO4 ) ;<br /><br /> if( ( IO1PIN & p_KEY1 ) == 0x0 ) //读按扭,反映到LED<br /> {<br /> IO1SET=p_LED1; //灭<br /> <br /> IO0SET=p_IO0;<br /> IO0SET=p_IO1;<br /> IO0SET=p_IO2;<br /> IO0SET=p_IO4;<br /><br /> }<br /> else<br /> {<br /> IO1CLR=p_LED1; //亮<br /> <br /> IO0CLR=p_IO0;<br /> IO0CLR=p_IO1;<br /> IO0CLR=p_IO2;<br /> IO0CLR=p_IO4;<br /> }<br /> <br /> }<br /><br />} |
|