开了缓存 在中断里将24l01的数据读到缓存中 在主函数中将缓存里的数据写到U盘里 但是缓存里没东西的时候 U盘还是在写空白数据 何解?程序段如下 while(1) { while(CH376_DiskConnect()!= USB_INT_SUCCESS) { Delayms( 100 ); } Delayus(100); for ( i = 0; i < 100; i ++ ) { Delayms( 50 ); s = CH376_DiskMount( ); if ( s == USB_INT_SUCCESS ) { break; } else if ( s == ERR_DISK_DISCON ) /* 检测到断开,重新检测并计时 */ { break; } if ( CH376_GetDiskStatus( ) >= DEF_DISK_MOUNTED && i >= 5 ) /* 有的U盘总是返回未准备好,不过可以忽略,只要其建立连接MOUNTED且尝试5*50mS */ { break; } } if ( s == ERR_DISK_DISCON ) /* 检测到断开,重新检测并计时 */ { continue; } if ( CH376_GetDiskStatus( ) < DEF_DISK_MOUNTED ) /* 未知USB设备,例如USB键盘、打印机等 */ { goto UnknownUsbDevice; } strcpy(TarFileName,"/NEW.TXT"); s=CH376FileCreate(TarFileName); while(1) { s=CH376FileOpen(TarFileName); if(s==USB_INT_SUCCESS) { CH376ByteLocate(0XFFFFFFFF); } CH376ByteWrite(RxBuf,ThisLen,NULL); CH376FileClose(TRUE); ByteCount +=ThisLen; if(sizeof(RxBuf)==0) { break; } } UnknownUsbDevice: while ( CH376_DiskConnect( ) == USB_INT_SUCCESS ) { Delayms( 100 ); } }
查看: 2142
回复: 1
[求助]376写u盘问题
fromdoctor
发表于: 2012-07-11 09:23:00
热门产品 :
CH32X035: 32位USB+USB PD单片机
sizeof(RxBuf)可能是个常量,不能作为判断,您可以不断查看sizeof(RxBuf)的值试验
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录