USB设备的bulk-only批量传输

任何USB传输只能由主机发起

主机发送IN或OUT的请求只需一个令牌包,这个包含在USBH_BulkSendData()和USBH_BulkReceiveData()函数中,不需要编程者操心。

     为了详细一点的说明这些,我要放几幅图,这几幅图来自《USB2.0与OTG规范及开发指南》。第一幅是BULK传输的步骤:

 

      1、令牌阶段就是主机给设备发送一个输入或输出的令牌,告诉设备主机需要和某个地址的设备的某个端点进行输入或输出传输。第二幅图是令牌包的格式,很简单。这个STM32库函数的底层会处理,不需编程者介入。

 

 

        2、数据阶段是关键,主机和设备之间会传送数据包,首先看一下数据包的格式,如下图。如图1所示,这个阶段如果是主机向设备发送数据包,则使用USBH_BulkSendData(),如果是主机跟设备要数据则使用USBH_BulkReceiveData()。这两个函数除了制定了数据传输的方向外,还规定了传输数据的长度和缓存地址。

3、握手阶段就是一个应答,告诉对方数据收到了或没有数据要传输或出错了等等。

 

以上文章是转载他人的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值