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

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
2个帖子/ 0新
最后一篇
ULFSöderberg.
离线
最后一次露面:4个月1周前
加入:2014-02-14 20:16
为什么USB堆栈为高速设备配置了?

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

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


// #ifdef usb_is_high_speed
// #define usb_support_high_speed 1
// #别的
// #define usb_support_high_speed 0
// #万一

我们不应该解除这些线路的原因吗?

正如现在,在文件USB.H中,USB_SUPPORT_HIGH_SPEED的缺失定义为0导致使用的较大缓冲区。

设备:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨Ulf Soderberg,

嗨Ulf Soderberg,

您提到的代码是处理USB的Segger堆栈的一部分,Segger堆栈是覆盖所有USB版本的统一驱动程序,因此您观察到的512字节不是浪费的重要内存空间。堆栈使用该定义,然后堆栈的下部将切割64字节块中的512缓冲区。使用64字节选项将没有问题,默认情况下选择默认值为最佳值。

谢谢mt_dialog.