STM32/STM8技术论坛
直播中

李如昊

8年用户 212经验值
私信 关注
[问答]

STM32F4 USB模拟U盘写入文件数据后如何判断文件已经写结束了?

    使用STM32的USB模拟U盘,电脑向STM32模拟的U盘写入文件数据后程序如何在STM32中判断这个文件已经写结束了?对USB底层协议不清楚,麻烦大虾指点。

回帖(5)

蔡妮芩

2019-2-20 08:24:36
把数据打包,自己定个协议,包头、数据长度,校验位,结束位什么的。下位机接收到数据进行解析,达到数据长度并收到结束位就结束了。
举报

马健

2019-2-20 08:39:34
帮忙顶。。。
举报

李如昊

2019-2-20 08:50:29
引用: 易元空灭 发表于 2019-2-20 19:47
把数据打包,自己定个协议,包头、数据长度,校验位,结束位什么的。下位机接收到数据进行解析,达到数据长度并收到结束位就结束了。

我现在用的是STM32F4的USB库,因为对USB协议不太了解所以你说的方法我暂时还实现不了!目前我有两个方法估计可以实现我的要求,但是还是不太了解底层的东西。

1:端点接收PC端数据时如果数据长度小于端点缓冲区长度或者是0长度数据包就表示数据接收已经是数据尾?(文件发送结束)

2:当STM32模拟的U盘在PC端被移除时,这时是否可以在STM32的程序中判断USB已经被移除?

麻烦大虾解说一下,谢谢。
举报

杜永强

2019-2-20 09:01:40
不太懂,帮顶
举报

杨丽

2019-2-20 09:06:54
引用: leoleesir 发表于 2019-2-20 20:13
我现在用的是STM32F4的USB库,因为对USB协议不太了解所以你说的方法我暂时还实现不了!目前我有两个方法估计可以实现我的要求,但是还是不太了解底层的东西。

1:端点接收PC端数据时如果数据长度小于端点缓冲区长度或者是0长度数据包就表示数据接收已经是数据尾?(文件发送结束)

还是看看USB部分的资料吧,不了解做东西,很容易卡在这样的问题上。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分