请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C129XKCZAD 我将继续发布这篇文章、因为 TI 不再维护 USB 库或修复其中的错误、 我花了一段时间才知道如何修复错误。 有提示、但没有实际的解决方法。
如果 一次写入64个字节以上、USBHDPipeWrite()将被断开。 根本原因是库代码中存在错误。
这是随附的 TI 代码。
if (bUseDMA == false) { // //如果不使用 DMA,一次只发送64个字节。 // if (ui32ByteToSend > 64) { ui32ByteToSend = 64; } 其他 { // //发送请求的字节数。 // ui32ByteToSend = ui32RemainingBytes; }
解决方法:
if (bUseDMA == false) { // //如果不使用 DMA,一次只发送64个字节。 // if (ui32RemainingBytes > 64) { ui32ByteToSend = 64; } 其他 { // //发送请求的字节数。 // ui32ByteToSend = ui32RemainingBytes; }
我已经测试了该代码、并确认它可以正常工作。