ch372读数据不正常

我用ch372测试程序,连上计算机,可以找到硬件设备,而且可以安装驱动,在设备管理器上也可以找到,D+3左右,D-0V左右,走正常,晶振x2大概2.4V也正常,就是读数据不正常,读回0xff,是硬件的问题吗? uchar CH375_RD_DAT_PORT(void) { uchar dat; A0=0; TRISD=0XFF; PORTD=0XFF; RD=0; nop();nop();//2us dat=CH375_PORT; RD=1; CH375_PORT=0xff; return dat; }

PC发下来什么数据?你读到为0XFF? 你做测试命令,发送0X06命令,然后发送0X55数据,然后在读数据,看看读到的数据是多少?


设置模式成功并不能表示单片机和CH372硬件连线没什么问题,建议在未设置模式之前做测试命令,看下是否可以成功?如果未成功,去查下单片机和CH372之间的并口连接线是否有问题以及操作是否有问题。


做测试,发0x06命令,然后发0x55数据,读回的不是0xaa,是0xff。我是在设置模式之前做的测试,测试不成功


测试命令不通过,可能是单片机读写CH372的时序不正确,另外检查硬件有没有虚焊等等


我画的PCB板子,应该没问题,不会有虚焊的地方,时序不对怎么会设置模式正确呢?我写ID,也正确


软件上面上电之后加50MS的延时,把读写子函数贴出来看看吧


加延时了,50ms, void CH375_WR_CMD_PORT(uchar cmd) { A0=1; CH375_PORT=cmd; TRISD=0; RD=1; WR=0; CS=0;CS=0; WR=1; A0=0; TRISD=0xff; CH375_PORT=0xff; } void CH375_WR_DAT_PORT(uchar dat) { A0=0; CH375_PORT=dat; TRISD=0; RD=1; WR=0; CS=0;CS=0; WR=1; TRISD=0xff; CH375_PORT=0xff; } uchar CH375_RD_DAT_PORT(void) { uchar dat; A0=0; TRISD=0XFF; PORTD=0XFF; WR=1; RD=0; CS=0;CS=0; dat=CH375_PORT; CS=0;CS=0; RD=1; CH375_PORT=0xff; return (dat); }


按照你提供的信息 好像是对CH372写操作是成功的,读操作不成功。可能是程序中读的并不是单片机引脚的状态 如果计算机也能找到设备,那么说明设置模式是成功的,模式设置成功之后CH372会返回0x51.


只有登录才能回复,可以选择微信账号登录