usb模块写入问题
用USB标准板模块先后向3个U盘写BMP文件,一个朗科盘出现图像错位,另两个盘显示正常,但这两个盘写入的用时相差很大,我的图像文件32K,一个用时5s不到,另一个用时15s,另外3个盘均只能写入一次,需要拔下后再次插入后才能写入。烦请提供帮助。
谢谢!
1.速度快慢和U盘的特性也有关系.有的U盘快,有的U盘慢;
2.如果写的是同一个图片,但是有一个U盘出错,建议检查电源系统,带负载能力,及程序问题;
3.只能写一次,和你的程序有关系,重点检查写结束后是否在等待U盘断开.
此号封存
谢谢前两条的解答;
对于向U盘写文件,我是采用按面板保存键操作,用中断方式进入按键响应并将文件输出,
当程序执行CMD_FileClose后退出按键中断,此时能保存文件,过一段时间(也可能有几分钟)再次按键能进入中断,可见模块LED闪了一下,却无法存盘。不用关闭电源,拔下U盘再插上就恢复正常。我感觉是U盘需要一个初始化。
这人很懒,什么都没留下
可能与您程序的流程有很大的关系,正常操作应该是
DiskReady -->FileOpen ---> Write --->Close.当然中间可能还有一些其他的操作,主要是根据条件去判断.灯闪说明模块接收到命令并处理了,但是有没有返回数据您要去监控一下.确定问题在哪,问题就会迎刃而解.
此号封存
1.对于图像错位,经检查是某一次字节写过程未能写入,原因是字节写入方式较慢,漏了数据,我采用延时等待模块响应方式,而没有用示例文件的死循环方式,现增长延时时间解决。
2.对于需要拔下再插入才可写入,我增添一条CMD_ResetInit命令解决。
3.现已改用扇区写方式,6个扇区同时写,速度相当快了,只是其中一个U盘只能写四个文件再也写不进了,解决中。。。。。。
这人很懒,什么都没留下
1.对于图像错位,经检查是某一次字节写过程未能写入,原因是字节写入方式较慢,漏了数据,我采用延时等待模块响应方式,而没有用示例文件的死循环方式,现增长延时时间解决。
2.对于需要拔下再插入才可写入,我增添一条CMD_ResetInit命令解决。
3.现已改用扇区写方式,6个扇区同时写,速度相当快了,只是其中一个U盘只能写四个文件再也写不进了,解决中。。。。。。
这人很懒,什么都没留下
1.可能是你程序没有等待返回的状态,做了超时,这样确实会丢数据;
2.应该不需要复位的,建议再检查一下程序;
3.可能还是程序的问题,建议参考我们提供的例子程序.
此号封存
只有登录才能回复,可以选择微信账号登录