遇到一个奇怪的问题,想问一下 void main(void) // 主程序 { uchar c1,c2; while(1) { c1=Read24c02(0x01); //读出24c02第一个地址数据 P1=c1; //显示在P1口的4个LED上 if(!K1) //按键处理 { c1++; //值加1 Write24c02(c1,0x01); //重新写入24c02 (把++后的C1还存到0x01地址单元) while(!K1); //等待按键松开 for(c2=0;c2<250;c2++); //松开按键去抖 } } } 程序每次到这地方(c1=Read24c02(0x01);),就不在向下执行了,只要把它去掉,后面的程序就可以执行了,奇怪啊,它本身是一个24C02的读程序啊,把读出的值给c1啊,也没错啊,怎么到那就不向下执行了呢? |