为啥会头疼呢?首先单片机可以插入U盘,肯定是得工作在HOST模式,是有该检测功能的,检测容易实现的话,数据拷贝就更容易实现了呀,就是从一个文件中读取到内存中,然后再写入到另一个文件中嘛
本帖最后由 wolfgang2015 于 2017-12-24 00:24 编辑
2的基本步骤如下:
1、USB要设置为主机模式;
2、读取U盘配置参数区信息动态识别U盘大小
3、根据CSV文件大小判断FATFS文件系统剩余空间是否足够;
4、初始化U盘中Flash(文件系统来做,底层操作可以参考实现)
5、块写文件内容
补充一点,USB存储文件,不能以中断(HID)模式传输数据,要以数据流模式批量传输数据。
写对代码也许可行,不知道可否设置自动写入
现在的想法就很好啊。检测到U盘插入,延时一段时间,把TF卡中CSV文件(已经使用FATFS文件系统)拷贝到U盘。
没在STM32上这么用过,但应该是可以实现的。
第二步时,插入U盘后,主机需要与U盘枚举。枚举成功后,并且主机正确识别U盘。枚举成功标志去触发启动读取U盘信息任务,可以去查询U盘剩余空间,如果空间足够保存要写入的原来在TF卡里面存入的CSV数据,那么就尝试写入U盘。
就想到这么点
楼主是要实现文件拷贝么?从文件信息区获取到文件信息后,索引到文件后,读取文件后直接写到U盘。
打开源文件,创建新文件,打开新文件,读取源文件,写入新文件,完成后关闭两个文件
有文件系统在,拷贝文件很容易啊!检测到U盘插入,确认正常后开始拷贝文件。
你说的“感觉这里面第(2)步比较头疼”,具体头疼的问题是什么没说出来啊!
我也在做这个
学习中