遇到的奇怪现象,求解
串口U盘读写模块,可以正常初始化,执行到查询U盘是否准备就绪这一步时,有时能通过,有时模块指示灯灭,无数据返回。

SendInit[4]={0x57,0xab,0x0b,0x00};
SendTestDisk[4]={0x57,0xab,0x71,0x00};
以下是部分程序流程。
Uart_Send_Bytes(SendInit,4); //初始化
while(1)
{
status = mRecvByte( );
if(status == 0x00)
break;
}
display_delay(1);

Uart_Send_Bytes(SendTestDisk,4); //查询U盘是否准备就绪
while(1)
{
status = mRecvByte( );
if(status == 0x00)
{
TestDisk=0;
break;
}else{
TestDisk=1;
break;
}
}
接下来是文件操作,以前用扇区方式写入,今年设备升级时,发现不能用了,不知道什么原因,改成按字节写入,可以正常使用。
还有,我手头有两个U盘读写模块,有一块,程序可以正常工作,反复断电重启,都可正常工作。另一块,出现了上面的这个问题。两个模块都是新的,不正常这个模块,有时候单步执行,也能正常读写。U盘用的同一个,所有硬件也都是同一套。

  请高手解答,先谢了。
57600波特率,刚才忘说了。
这人很懒,什么都没留下
首先,拿模块进行自动演示功能的测试,看下模块插入U盘之后是否可以创建一个“自动演示”的文件
其次,发送复位命令之后需要延时200MS以上的时间在发送检测U盘连接的命令,之后这个命令返回U盘插入之后才能进行U盘是否准备就绪的命令。
最后。需要看下按照扇区写的话,返回什么样的错误。
E-MAIL:fqb@wch.cn TEL:025-52638375
只有登录才能回复,可以选择微信账号登录