主题中讨论的其他部件:C2000WARE
工具/软件:Code Composer Studio
您好,
我们的主板(F2.8377万S)用作使用USB库的USB CDC设备。 传输数据包大小为64字节。
Ellisys USB发生器连接到USB链路,用于间歇性连接测试。 当为每750ms设置10ms重置(se0)时,我发现我们的应用程序偶尔会收到损坏的USB数据。 在接收数据的64字节中,前7字节是正确的,但所有其他字节都设置为0。
检查代码后,我发现当接收数据从USB控制器中的FIFO中读取时,出现错误。 复制了64个字节,但只有前7个字节是正确的,其他所有字节都是0。 (由USB.c中的函数USBEndpointDataSet()执行)。 USB控制器端似乎出现问题。 我在主板之前使用另一个USB监控设备,确认USB发生器不会导致该问题。
我知道,如果检测到重置,FIFO将被刷新。 重置是否会导致损坏的数据? 为什么我们只接收前7个字节?
谢谢!
亨利