Thread 中讨论的其他器件:EK-TM4C123GXL
您好!
我正在使用 TivaWare 2.1.4.178 USBLib 实现具有两个 CDC 子器件的 USB 复合器件。
数据从 CDC 器件通过 USBBuffer、然后通过 UART1、使用 UART 控制器上的硬件流控制从 UART1流出。 反之亦然。
如果控制管路 CTS 有效、USBBuffer 将满、数据流将停止。 如果这种情况持续很短的时间、当 CTS 线路被置为无效时、数据流将正常恢复。 但是、由于我的实施方案的限制、UART 会在很长一段时间内将其 CTS 线置为有效、从而阻止数据通过 USB 进入和通过 UART 流出。
当这种情况发生时、我发现 USB 主机不断重新发送相同的数据、同时增加它尝试发送的数据包的大小。 当 CTS 线路最终释放并且数据流可以继续时、USB 堆栈无法处理它接收到的巨大数据包、数据输出仅重复数据包的第一部分。
我想知道向主机发送数据流已停止的信号的 API 是什么、即:CTS 已置位、希望主机停止反复重试同一数据包。
此致、
Pedro Serra