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.

[参考译文] CC13xx RX UART 错误

Guru**** 2539500 points
Other Parts Discussed in Thread: CC1312R, CC1312R7

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1308138/cc13xx-rx-uart-errors

主题中讨论的其他器件:CC1312R7、CC1312R

我们有 CC13xx 平台以及 Arm 8.50 CPU。

主题: 寻求有关在 CC13xx 平台上引发和处理 RX UART 错误的指导

1. 我们需要检查我们的代码是否正确处理以下 RX UART 错误:

"帧错误"

"奇偶校验错误"

"缓冲区已满错误"

您是否建议通过某种方法导致这些错误?

我们利用 Docklight 以不同的波特率、非常长的消息长度和高的消息率发送消息、但尚未产生期望的错误-

我们的系统未接收到任何 RX UART 错误。

2. 当出现上述任何 RX UART 错误时, 建议调用以下2个 TI 函数进行"恢复":

  UART2_CLOSE();

  UART2_OPEN();

如果没有、您会建议哪些替代方法?

3. 请注意, 我们的 UART 初始化代码为:

initPghModemUART()

{

    //初始化 UART2参数

    UART2_Params_init (&uartParams);

 

    uartParams.baudrate = 38400;

    uartParams.readMode = UART2_Mode_callback;

    uartParams.writeMode = UART2_Mode_callback;

    uartParams.readCallback = UART_P52 Modem_Rx;

    uartParams.writeCallback = UART_P52 Modem_Tx;

    uartParams.eventCallback = UART_P52 Modem_Event;

    uartParams.readReturnMode = UART2_ReadReturnMode_partial;

 

    //打开 UART

    uart2_insts = UART2_open (CONFIG_UART2_1、&uartParams);

 

    //启用接收器,禁止低功耗模式

    uart2_rxEnable (uart2_insts);

 

 

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

    您好

    我咨询过我们的司机团队、我们没有任何关于如何为可能生成的所有不同错误设置测试用例的文档。

    如果发生错误、您应该会获得一个事件回调、然后您应该能够正常继续(无需关闭驱动程序等)。

    请注意、如果您遇到中断错误(UART2_STATUS_EBREAK)、FFIO 中的最后一个字节会设置为0。

    Siri

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

    您好!

    在 LP_CC1312R7平台上使用 IAR 调试器测试 TI SimpleLink SDK (v6.20.00.29)的"uart2call"示例时、我遇到了一个特殊的问题。


    我编译并测试了(使用 IAR 调试器) TI 的"uart2callback"示例、
    它位于:

    C:\ti\simplelink_cc13xx_cc26xx_sdk_6_20_00_29\examples\rtos\LP_CC1312R7\drivers\uart2call\tirtos7\IAR


    注:

    本示例中的波特率为115200。

    此示例代码可以正常工作-当我通过"Docklight"发送一些数据时、波特率为115200 (奇偶校验=无、8个数据位、1个停止位)-

    函数 UART2_READ()返回的状态为 UART2_STATUS_SUCCESS。

    我的问题如下:

    当我从"Docklight"以波特率9600发送一个字节"00"(或多个"00"字节)时-

      我预计会在 从函数 UART2_READ ()返回的状态中收到"组帧错误",

    但我没有收到任何错误-  UART2_READ()返回 UART2_STATUS_SUCCESS,表示没有错误。

    请提供 有关此意外行为的潜在原因的建议。

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

    首先、我建议您下载我们最新的 SDK、以查看问题是否也可重现。

    如果是、您应该尝试设置测试、使用另一个 CC1312R7发送导致问题的任何内容、以便我可以尝试在这里重现问题(我不熟悉 docklight)。

    如果您无法将 CC1312R 作为发送器重现问题、请提供 UART 通信图表、以便我可以在此处尝试进行同样的测试。

    Siri