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.

[参考译文] CC1311R3:UART2 和硬件读取超时

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1571169/cc1311r3-uart2-and-hardware-read-timeout

部件号:CC1311R3


工具/软件:

您好、

使用 simplelink_cc13xx_26xx SDK 7.10.01.24

我使用 TI-RTOS 和 UART2 进入阻塞接收模式  

UartParams.readMode = UART2_Mode_blocking
UartParams.readReturnMode = UART2_ReadReturnMode_Full

我不知道要接收的字节数、但第一个字节是“UART 长度字节“

我 首先调用 UART2_READ、其大小= 1。

我希望该函数在一个字节后返回。

但是、我在 UART 上得到 6 个字节、然后会等待、直到我接收到所有 6 个字节+硬件读取超时。(硬件读取超时没有很好地记录下来。)

为我的 case 假设 UART2_READ 调用在我收到一个字符后应立即返回、这是正确的吗?

-无需更多线缆

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

    您好、

    是的、根据文档、当您使用  UART2_ReadReturnMode_Full 时、UART_read 应在接收到指示的字节数 (1) 后返回。

    我来检查一下这是否是文档错误。

    谢谢、

    Marie H

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

    有关这个 Marie 的任何更新?

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

    您好、

    从接收到第一个字节直到函数返回为止、我测得的时间约为 300us。 函数返回时、可能只是延时时间才使所有这 6 个字节都准备就绪? 您可以使用更长的数据包进行测试吗?

    谢谢、

    Marie H

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

    尊敬的 Marie:

    在我的代码中、我将 UART 设置为:

    UartParams.readMode = UART2_Mode_blocking
    UartParams.readReturnMode = UART2_ReadReturnMode_Full
    然后我调用:
    状态= UART2_READ (UARTHandle_pData_p + TotalRead1、&BytesRead);
    GPIO_TOGGLE (5);
    在 115200 波特率下、从字符一结束到~380us 的延迟。 非常接近您的数字。
    但在 19.2kBaud 时、延迟为 1.76ms。 如果在这 1.76ms 内在 UART 上发送另一个字符、那么“超时“似乎被复位了。
    图 1.

    图 2.

    因此、即使我特别要求一个字节、下面的内容在返回之前似乎需要在两个字符之间进行一定的超时。

    我认为这可能是 UART2 头文件中提到的硬件读取超时。

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

    是否有任何更新?

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

    有任何关于这方面的反馈吗?