根据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导致使用的较大缓冲区。
设备:
嗨Ulf Soderberg,
您提到的代码是处理USB的Segger堆栈的一部分,Segger堆栈是覆盖所有USB版本的统一驱动程序,因此您观察到的512字节不是浪费的重要内存空间。堆栈使用该定义,然后堆栈的下部将切割64字节块中的512缓冲区。使用64字节选项将没有问题,默认情况下选择默认值为最佳值。
谢谢mt_dialog.