为什么要为高速设备配置USB堆栈?

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
2个职位/0个新职位
最后一篇文章
Ulf S公司ö德伯格
离线
最后一次见到:4个月1周前
已加入:2014-02-14 20:16
为什么要为高速设备配置USB堆栈?

根据DA14681的数据表,USB接口支持全速和低速。

在SDK中,在文件USB\u Conf.h的第48-52行,注释掉了非高速设备的定义。这意味着USB缓冲区需要512字节而不是64字节。


//#如果定义USBŠ是高速的Š
//定义USB支持高速1
//#其他
//定义USB支持高速0
//#结束

有什么理由不取消这些行的注释吗?

正如现在一样,在USB.h文件中,缺少USB\u SUPPORT\u HIGH\u SPEED to 0的定义会导致使用更大的缓冲区。

设备:
MT\u对话框
离线
最后一次见到:2个月3周前
工作人员
已加入:2015-06-08 11:34
嗨,乌尔夫·索德伯格,

嗨,乌尔夫·索德伯格,

你提到的代码是处理USB的SEGGER堆栈的一部分,SEGGER堆栈是一个覆盖所有USB版本的统一驱动程序,因此你观察到的512字节并不是一个被浪费的重要内存空间。堆栈使用该定义,然后堆栈的较低部分将512缓冲区切分为64字节的块。使用64字节选项不会有问题,默认值被选为最佳值。

谢谢你的对话