[原创]CH375V有问题

初始化程序,返回值好像没有问题 // *********** USB 的初始化程序 ****************************************************************** void USBInit(void) { uint8 i=0; // --------初始化端口------------ mDelaymS(200); CH375_PORT_INIT(); // ------- 调用库函数初始化--------- mDelaymS(100); CH375Reset(); mDelaymS(100); CH375Init(); mDelaymS(100); i=CH375LibInit(); Uart0_Send_A_Byte(0xff); Uart0_Send_A_Byte(i); mDelaymS(200); if(i!=0x00) // 如果初始化成功会返回0x00 {i=CH375LibInit(); Uart0_Send_A_Byte(0xff); Uart0_Send_A_Byte(i); // 如果成功,返回值为0 } else {xWriteCH375Cmd(0x01); /* 获取芯片及固件版本 */ i=xReadCH375Data(); Uart0_Send_A_Byte(0xfe); Uart0_Send_A_Byte(i); xWriteCH375Cmd(0x06); //按位取反 xWriteCH375Data(0xAA); i=xReadCH375Data(); // 正确结果应该是55 (AA+55=FF) Uart0_Send_A_Byte(0xfe); Uart0_Send_A_Byte(i); } }


那U盘的初始化呢?也就是DISK-RENDY()这个函数也是可以正常的吗?


disk_ready只有在插上了U盘才会用吧,我有一个单片机控制ch375A的产品,每个月几K的量都没有发生问题呀,都是这么用的


在你的初始化之后,那么就会等待U盘的插入,这是会产生一个中断的,在者,在检测到U盘连接之后,在进行磁盘初始化,之后才可以操作U盘,例如新建文件,打开文件等等


本来就是这么做的亚,可是disk_ready就是返回值不对,那要怎么办?


返回的不是ERR_SUCCESS的话,那么你看下你插上U盘之后的U盘两端的电压是多少?还是不行的话你可以到我们公司的网站上面下载最新的库,如果在不行的话,你可以换个U盘试下看


是最新的程序,换了U盘了,电压是5V,郁闷


我记得以前遇过这种情况,有可能是MCU中断引脚没连接,单片机认为CH375的中断引脚一直为低电平就会返回0x10等等 除此之外,产生各种未定义的意外错误码,一般可能是xWriteCH375Data等子程序有时序问题,RAM分配有问题等


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