大家好、
我们现在有几种不同的情况、在这种情况下、我们的 UART 驱动程序将会偶尔停止、因为发送字符后 UCTXIFG 保持清零(UCBUSY = 0)。
我们在以57.6kBaud 运行的端口的基于中断的 UART 驱动程序和以2MBaud 运行的另一个端口的基于 DMA 的驱动程序中观察到了这种行为。
对于 DMA 驱动程序、我们似乎只在 DMA 突发结束时得到 UCTXIFG 问题-由于这个问题、我们没有提前观察到 DMA 突发停止。
我们正在通过检测 UCTXIFG 何时应清零来解决该问题、并将其设置为(在启动 DMA 突发之前、在基于中断的 UART 的计时器上)。
两个 UART 都来自 SMCLK、我们不会轮询 UCTXIFG、因此我认为勘误表 USCI44不适用。
对于我们为什么会看到这种效果以及是否有更好的解决方案、您有什么建议吗?
谢谢
Julian