CH376创建文件无法写入数据

void DAQ_WriteTest(void) { UINT8 write_buf[] = {"Today is Monday."}; while (Mount_status == USB_INT_SUCCESS || CH376Ready == 1)/*这是我自己加的判断芯片及U盘初始化成功的标志*/ { CH376FileCreat("/DSS.TXT"); CH376ByteWrite(write_buf, 17,NULL); CH376FileClose(TRUE); }

这是我的一个测试小程序,为什么U盘里面文件创建成功,但是没有写入数据,打开只有一个.

检测下这几个函数的返回值是什么: CH376FileCreat("/DSS.TXT"); CH376ByteWrite(write_buf, 17,NULL); CH376FileClose(TRUE);


之前的账号忘记名字了。 3个的返回值都是fa。 并且disk mount得返回值也是fa了。之前磁盘初始化一直是返回fa,后来莫名其妙变成14,现在又变成fa了。 初始化程序我是参照你们给的异步串口的dome1写的。 for ( i = 0; i < 100; i ++ ) /* 最长等待时间,100*50mS */ { mDelaymS( 50 ); s = CH376DiskMount( ); /* 初始化磁盘并测试磁盘是否就绪 */ 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 */ } if ( s == ERR_DISK_DISCON ) /* 检测到断开,重新检测并计时 */ { continue; } if ( CH376GetDiskStatus( ) < DEF_DISK_MOUNTED ) /* 未知USB设备,例如USB键盘、打印机等 */ { goto UnknownUsbDevice; }


disk mount必须要过,否则操作不起来U盘,你把你的硬件发到我邮箱,看看硬件有没有问题


我用的是你们的评估板。 通过你们提供的上位机串口调试工具 能够成功通过disk mount ,新建文件,写入数据。 但是换到我自己的主芯片SH72531就不行了。 在芯片初始化中disk connect能通过,并且正确返回14,说明中断返回状态通道是正常可用的。 我可以把我的程序发给你看吗? 我实在是找不出哪里的问题了。


可以,估计跟程序关系不大,您是用中断引脚来检测中断的么?你把你的中断处理程序发过来,还有你检查下你单片机串口设置,接收和发送有没有问题,波特率误差有多大?


又忘记账号了。 请问:一个命令如果有数据返回又有操作状态返回,是先返回数据还是先返回操作状态呢?如何区分?


没有这样的命令,要么返回状态要么返回数据。如果返回状态的话需要你等到中断后,发送CMD01_GET_STATUS 0x22这条命令去获取上条命令的执行状态


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