遇到一个非常奇怪的问题。向CH375发送CMD_CHECK_EXIST命令时,返回的值的最高位一直为1,其他位均正常取反。如写0x11,返回0xEE(正常);写0xEE,返回0x91(最高位不应该为1的)。凡是用到读取命令时,最高位一直为1,硬件连接应该都没问题,不然写CMD_CHECK_EXIST命令也不会返回有规律的值了。 下面的程序应该也没什么问题,现在能想到的就是:是不是CH375的芯片的问题,芯片固件程序中的并口发送的函数是不是出错了。。。 希望各位大侠看看,还会有哪些地方能出问题
unsigned char CH375_RD_DAT_PORT(void) { unsigned char mData; Delay1us(10); P1=0xFF; CH375_A0=0; CH375_CS=0; CH375_WR=1; CH375_RD=0; Delay1us(10); mData=P1; CH375_CS=1; CH375_WR=1; CH375_RD=1; CH375_A0=1; return(mData); }