This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1312PSIP:UART2_WRITE 信标始终等待

Guru**** 2771045 points

Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1617541/cc1312psip-uart2_write-semaphore-waiting-forever

器件型号: CC1312PSIP
主题: SysConfig 中讨论的其他器件

您好、

根据传感器 OAD 示例、我有一个使用 simplelink_cc13xx_cc26xx_sdk_7_41_00_17 的应用。 我添加了一个用于调试的 UART。 遗憾的是、UART 似乎是导致问题的原因。 我已将其设置为简单阻塞模式、并仅在 SysConfig 中配置 TX。

我的应用程序使用 OAD 和 toad 来下载更新。 对于使用 toad 下载映像和使用 SPI 接口写入外部闪存的大多数过程、UART 调试工作正常。 但是、在 toAD 状态变为 toad_State_decodingDone 后、对 UART2_write 的任何调用都将失败并永远等待信标(但 UART 会输出)。 这是因为没有设置 EOT 标志、因为这是在驱动程序中释放信标的唯一方式。

有两件事可以阻止信标挂起:

1) 我发现、如果将 UART2_WAIT_FOREVER 更改为超时、它会起作用且不会挂起。

2) 如果我在 toad_State_decodingDone 状态之后添加 Task_sleep ()。

但是、我需要了解为什么调试 UART 会挂起、以便对应用程序充满信心。

据我所见、这两个进程是分开的、不应相互干扰。 在继续使用调试 UART 之前、我已经检查了 UDMA 处于空闲状态、但它处于空闲状态并且仍然挂起。

我想不出还有什么可以尝试的。 我希望您可能有一些想法。

感谢您的帮助。