CHECK_EXIST总是错误,硬件连接没问题的,发0x00,返回来的总不是oxff。我用的是ch375当372用,大家觉的该是什么问题?[Emot]20[/Emot]
byte temp=0x00; byte test=0xff; delay(65530); SendCom(RST_ALL); delay(50000); SendCom(CHECK_EXIST); WriteDat(&temp,1); ReadDat(&temp,1); if(test!=temp) {P1=temp;}
void SendCom(byte command) { byte xdata *pcom; pcom=0x0300; *pcom=command; delay(100); }
返回的P1口都是0v。并且编译程序说:Program Size: data=89.0 xdata=0 code=584,我不是定义XDATA了吗?怎么是0?
发送CHECK_EXIST命令时375是不是要连到电脑上?我没连啊。
(1)CHECK_EXIST总是错误说明硬件连线或CH375接口程序存在问题,执行复位命令后要延时40mS才能继续操作 (2)CH375的命令口地址和数据口地址与实际硬件连接是否一致? (3)写命令后延时1.5uS,读写数据后延时0.6uS,下载CH372EVT.ZIP,参考\CH372EVT\PUB (4)不需要连接电脑
byte xdata *pcom ,定义的是外部指针,而不是外部变量,没有外部变量所以没有XDATA了,这个定义方式恐怕是不行的.即使你现在能读写正确,以后也会在循环读写数据的时候出现问题.按照下面的方式定义: unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */ unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0; /* CH375数据端口的I/O地址 */ 发0X55返回的数据是多少?然后发送0XAA,看返回的数据是多少. 多测试几组数据.仔细检查地址是否在正确