首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >STM32 USB的最大速度是多少?

STM32 USB的最大速度是多少?
EN

Stack Overflow用户
提问于 2017-05-31 12:18:36
回答 2查看 13.9K关注 0票数 5

我正在使用stm32L151通过USB与PC机进行通信。我使用stm32 HAL库来创建我的项目。我发现usb以1ms的间隔发送数据,每次发送64字节。那么,USB CDC的最大速度是64kbyte/s吗?而且这个速度比USB全速12Mbit/秒要低得多。我怎么才能达到这个速度呢?或者至少是这个速度的一小部分?谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-05-31 19:22:45

不是的。如果你的代码“足够快”,那么CDC的最大速度大约是1MByte/sec。这可能需要在设备端使用较大(>1KB)的FIFO。哦,PC端必须能够足够快地读取数据,例如使用大缓冲区。

64KByte/s限制适用于使用中断端点的USB HID。USB CDC接口使用更快的批量终端。

票数 6
EN

Stack Overflow用户

发布于 2017-06-01 00:36:33

  1. USB帧是1ms,因此如果您将64字节放入缓冲区(使用HAL函数)-它将在下一帧中发送这64字节。它不会发送更多的数据,直到另一个1ms帧
  2. 如何提高此速度->将您的数据聚合为更大的区块,并在一个事务中发送更多数据(使用HAL库,最大可达8kB )。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44275560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档