USB连接检测通过, 返回的数据也都正常, 都是0x14 但是用PC却看不到有文件 U盘用的是4G FAT32格式, 下面是代码: while ( 1 ) { while ( CH376DiskConnect() != USB_INT_SUCCESS ) // 检查U盘是否连接,等待U盘插入 { mDelaymS( 100 ); PORTR_OUT^=0x01; } mDelaymS( 250 ); // 延时,可选操作,有的USB存储器需要几十毫秒的延时 for ( i = 0; i < 100; i ++ ) // 最长等待时间,100*50mS { mDelaymS( 50 ); s = CH376DiskMount( ); //初始化磁盘并测试磁盘是否就绪 play_data(s); // if ( s == USB_INT_SUCCESS ) break; // 准备好 else if ( s == ERR_DISK_DISCON ) break; //检测到断开,重新检测并计时 if ( CH376GetDiskStatus() >= DEF_DISK_MOUNTED && i >= 5 ) break; // 有的U盘总是返回未准备好,不过可以忽略,只要其建立连接MOUNTED且尝试5*50mS } //------------------------------------------------------------------------------------------------------------------- uint8_t buf[] = {"abcdefgh"}; uint8_t a, b, c; a=CH376FileCreate("/ABC.TXT"); b=CH376ByteWrite(buf, 9,NULL); c=CH376FileClose(TRUE); play_data(a); play_data(b); play_data(c); while ( CH376DiskConnect() == USB_INT_SUCCESS ) // 检查U盘是否连接,等待U盘拔出 { PORTR_OUT^=0x02; mDelaymS( 100 ); } mDelaymS( 200 ); }
怎么没人帮我看看啊,急啊
你前面mInitCH376Host( ); CH376DiskConnect( );CH376DiskMount( )都通过了吗?返回值是多少?你指的不能创建是返回成功操作代码,在电脑上打不开吗?
前面mInitCH376Host( ); CH376DiskConnect( );CH376DiskMount( )都通过了
a=CH376FileCreate("/ABC.TXT"); b=CH376ByteWrite(buf, 9,NULL); c=CH376FileClose(TRUE);
这三个返回的值 a:0x14 b:0x14 c:0x14 U盘里没有生成ABC.TXT文件
是不是有少了什么步骤
问下你的U盘在哪个操作系统下面格式化的?
用的是XP系统
可以解决吗
建议你使用WIXHEX这个软件将这个U盘的物理扇区的第0号扇区全部写成0之后在格式化U盘,在使用CH376芯片创建文件是否可以?还有看下你芯片上面的一串数字是多少?
数字是:206245215
用winhex试了,还是不能用...
奇怪了,没有创建出ABC.TXT文件 但是后面的abcdefg却写进去了, 用winhex看到了
怎么不能发图片.
U盘就是没文件生成,晕了[Emot]1[/Emot]
你可以这样试一下,把你的U盘格式化,在电脑端创建ABC.TXT文件写入abcdefg,用winhex看看写的数据位置跟用CH376创建的数据比较一下区别?
方件内容是一样的, 就是文件名称有些不一样,看不懂是怎么回事