我在例子里面看到 return( CH375Init( ) ); /* 初始化CH375 */ 这里,在想去照这个函数的实现就找不到了,请问具体是怎样的呢,因为我现在自己的板子初始化有点问题。
CH375Init();这个函数定义在库里面,所以你看不到,主要是做了一下测试命令和设置了模式。
能给代码吗,谢谢
库里面源码不方便公开,具体实现参考: CH375_WR_CMD_PORT( 0x06 ); /* 测试CH375是否正常工作 */ CH375_WR_DAT_PORT( 0x55 ); /* 写入测试数据 */ i = ~ 0x55; /* 返回数据应该是测试数据取反 */ if ( CH375_RD_DAT_PORT( ) != i ) { /* CH375不正常 */ return(0xFF); } /* 设置USB工作模式, 必要操作 */ CH375_WR_CMD_PORT( CMD_SET_USB_MODE ); CH375_WR_DAT_PORT( 6); /* 设置为主机方式 */ i=CH375_RD_DAT_PORT( ); return(i);
如果我不用那个函数,用上面的代码代替可以吗?
可能库里面返回值和你自己发命令操作的返回值不一样,那你上面的测试命令能过吗?
不能通过,返回0Xff了,这是什么情况呢?
还是你的测试命令没有通过,跟之前一样属于硬件问题,检查晶振、复位,接口方式接线。
你好,我自己做的板子,参照贵公司的评估板的电路图,然后可以直接下载FILELIB4里面的exam1做实验,现在不不能初始化成功,请问一定是硬件问题吗?软件方面需不需要做什么改动呢?还有硬件基本已经和评估板一致,只是ch375供电电压改成了3.3V,请问会不会是这个原因呢?
当然你软件上的配置需要根据你的硬件来,比如端口的IO地址、中断等。如果这些都确保正确测试命令还是不通过那就是硬件问题。3.3V供电的话,应该将V3引脚与VCC引脚短接,不影响芯片使用。
硬件方面已经基本是一样了,就是通不过初始化,V3引脚已经和VCC引脚短接,还是不行。
请问还有什么没有注意到的地方吗?
你把原理图发到我的邮箱,我看一下。
好的 等会儿发给你
你好,能回复一下我的邮件吗,等得急。
我们芯片肯定是支持3.3V供电的,你初始化没过返回0x81肯定是硬件问题,晶振你一直没有测?还有上电就是一次复位过程,复位完成25脚为低,26脚为高才是正确的。这两个都没通过肯定是不能通过初始化的。