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

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
Ulf Soderberg
离线
最后看到:4个月,3个星期前
加入:2014-02-14二十16
为什么USB堆栈配置为高速设备?

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

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


/ / # ifdef USB_IS_HIGH_SPEED
//定义USB_SUPPORT_HIGH_SPEED
/ / #其他
//定义USB_SUPPORT_HIGH_SPEED 0
/ / # endif

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

就像现在一样,在文件USB.h中,缺少USB_SUPPORT_HIGH_SPEED到0的定义将导致使用更大的缓冲区。

设备:
MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨Ulf Soderberg,

嗨Ulf Soderberg,

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

由于MT_dialog