CHECK_EXIST的问题。

晚上写了CHECK_EXIST的函数,测试很多次,只有两次正确,数据的返回为AAH,而且CH375初始化返回也为零,其他情况下数据返回为FO,初始化返回为81,为什么,我的电路是按照CH375的电路图搭的,程序为#include #include #include"CH375HF6.H" void Delay2us() {UINT8 m; m=1; } void CH375_WR_CMD_PORT(UINT8 cmd) {Delay2us(); CH375_CMD_PORT=cmd; Delay2us(); } void CH375_WR_DAT_PORT(UINT8 dat) { CH375_DAT_PORT=dat; } UINT8 CH375_RD_DAT_PORT(void) { return (CH375_DAT_PORT); } main() { UINT8 i; UINT8 j; UINT8 k; k=CH375LibInit(); CH375_WR_CMD_PORT(CMD_CHECK_EXIST); CH375_WR_DAT_PORT(0X55); Delay2us(); i=~0x55; j=CH375_RD_DAT_PORT();

是不是你的数据线上有干扰,造成操作不成功. 你循环的读写数据,再用示波器看下每跟数据线的波形可是正确的.


其实的库的初始化CH375LibInit(),也就是先做测试命令检查硬件连线是否正确,再设置375为主机模式。如果库的初始化返回0X81的话,说明你的硬件还存在问题。 你可以在程序一上来,先不调用库的初始化,直接做测试命令确保硬件连线正确。返回错误的话,检查晶振是否起振,375有没正常复位,接线是否无误,有没其他线干扰将数据线。


应该还是你的硬件有点问题,你可以在一上电之后就读取下P0口,看下你读回来的数据是多少?


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