Thread 中讨论的其他器件:EK-TM4C1294XL
工具/软件:TI-RTOS
在开始查看 usblib 中的 usbbuffer.c 中的代码之前、我一直在想知道为什么缓冲 USB 写入会表现异常。 事实证明,虽然缓冲区实现考虑了索引的翻转,但它根本不考虑溢出...就像这样。 也许我刚刚错过了它、但我找不到任何文件中溢出的引用。 也许我缺少一些东西、但这似乎是对缓冲区实现的巨大监督。
我本来应该至少看到一次回调、事件指示缓冲区溢出、这样应用程序就可以记录它并清除缓冲区、因为这就是问题、一旦你在 usblib 中溢出缓冲区实现、 如果不显式调用刷写函数、它似乎无法恢复。 应用程序永远不会发生、因为发生这种情况时不会触发任何事件/回调。