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