初始化已经通过了,在新建文件时,出错返回错误码有时是2有时是20
用子程序库没有?DiskReady成功没? 尝试打开文件能否成功
用子程序库没明白什么意思 DiskReady 成功 打开文件出错
打开文件返回什么样的错误代码呢?如果DISK-READY这个函数返回0X00的话,那么建议你去查下DISK_BASE_BUF这个缓冲区设置是否正常,还有去检查下你的中断上面设置是否正常。
错误代码是02 又时是20
1、就是文件系统是自己写的,还是使用了我们的库文件 2、例程中,CH375DiskReady是循环5次,即使不成功也会退出,所以必须监视DiskReady的返回值 3、在DiskReady前,测试一下磁盘缓冲区DISK_BASE_BUF,连续写入数据再读取,比较是否一致
CH375DiskReady 每次返回值都是20 应该是没又连接吧 什么问题
CH375DISKREADY这个函数如果返回0X20的话,那么建议你去查下你的USB口的线有没有连接反?正常的连接是VCC,D-,D+,GND,如果连接有问题的话,DISK-READY这个函数会返回0X20的。
这说明DiskReady就没通过阿,检查 1、USB口信号线序:VCC,D-,D+,GND 2、插入U盘,检查USB口电压是否足5V 3、CH375的中断线定义是否正确
返回20表示CH375和U盘之间通讯出现异常错误。可能的问题主要是USB信号有问题。 按照7楼的建议检查,除此之外检查一下UD+,UD-上的信号电压是多少。正常的情况下插上U盘后UD+大概3V,UD-大概为0V。检查UD+,UD-上有没有连接接电阻,电容等器件,如果有,全部去掉
线已经确定没有反 我把电源和地对调过 U盘灯都不亮了 D+和D-也 确定过
经查D+电压3V D-电压0V
U盘供电是否充足?USB插座上的VCC旁是否有大些的电容? 检查中断引脚定义是否正确。
电源附近又个大电容 VCC正常5V 中断引脚没错
#if DISK_BASE_BUF_LEN if ( DISK_BASE_BUF_LEN < CH375vSectorSize ) { /* 检查磁盘数据缓冲区是否足够大,CH375vSectorSize是U盘的实际扇区大小 */ printf( "Too large sector size\n" ); while ( CH375DiskConnect( ) == ERR_SUCCESS ) mDelay100mS( ); continue; } #endif
这段程序输出 Too large sector size
说明这个U盘的扇区大小不是常规的512B,监视一下CH375vSectorSize,然后修改DISK_BASE_BUF_LEN 与其相等