串口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盘用的同一个,所有硬件也都是同一套。
请高手解答,先谢了。