按照大家所说,用CHECK_EXIST测试命令测试。 板子上电,用示波器测试各管脚正常。按照如下程序测试: CH375Cmd = CMD_CHECK_EXIST; /* 测试CH375是否正常工作 */ mDelay1_2uS( ); CH375Dat = 0x55; mDelay1_2uS( ); i = ~ 0x55; if ( CH375Dat != i ) { /* CH375不正常 */ c = CH375Dat; sprintf(tmp,"c1=%d",c); Puthzf(110,30,15,1,tmp,0); Puthzf(110,10,15,1,"wrong",0); for ( i=80; i!=0; i-- ) { CH375Cmd = CMD_RESET_ALL; /* 多次重复发命令,执行硬件复位 */ mDelay1_2uS( ); } CH375Cmd = 0; delay(50 ); /* 延时50ms */ } CH375Cmd = CMD_CHECK_EXIST; /* 测试CH375是否正常工作 */ mDelay1_2uS( ); CH375Dat = 0x55; mDelay1_2uS( ); i = ~ 0x55; c = CH375Dat; sprintf(tmp,"c=%d",c); Puthzf(10,30,15,1,tmp,0);
这样测试是否可以?用示波器观察,读写数据时片选信号也对。 第一次返回的值多是0x22,第二次多是0x55。 很纳闷!请指点。