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.

[参考译文] DRA829J:?将 uart1波特率配置为460800 μ s

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1426947/dra829j-how-to-configure-the-uart1-baud-rate-to-460800

器件型号:DRA829J

工具与软件:

如何配置 MCU2_0的串行端口以获得460800的精确波特率?

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

    您好!

    您可以在初始化 UART 实例时更新波特率。 在打开 UART 实例之前、您必须更新 UART 参数。

    例如:

    UART_Handle uart = NULL;
    UART_Transaction transaction;
    UART_Params uartParams;
    
    UART_Params_init(&uartParams);
    uartParams.baudRate = 460800;
    uart = UART_open(uartTestInstance, &uartParams);

    谢谢!

    Neehar

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

    您好、

    根据计算公式波特率=(模块 Clk)/(mirOverSampRate * DivisionorValue)、接近460800的最佳计算结果为461538、无法获得相对准确的460800。  您能否以更小的误差提供配置参数?

    谢谢!

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

    您好!

    让我进一步探讨这个问题、明天再与您联系。

    谢谢!

    Neehar

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

    您好、

    有关详细信息、请参阅12.1.6.2.1.3 UART 协议和数据格式。 将 HwAtr 设置为 UART13x_OPER_MODE、将波特率设置为460800。 然后、您可以直接与 PC 串行调试工具通信
    症状:1. PC 上串行端口调试工具的波特率设置为460800、每次发送和接收一个或两个字节之间的数据通信是正常的。 如果一次发送或接收的数据超过三个字节、则通信异常。 串行端口调试工具将继续接收所有零异常数据
    2、PC 上串行调试工具的波特率设为461538、通讯正常。

    谢谢!

    Wangmuzhang

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

    您好!

    通过公式 Divisor value =工作频率/(波特率的倍数(13或16)×波特率)、在图表中、我们可以得到的最接近的波特率为460800的值是461540、它的误差百分比为+0.16。

    此外、我还研究了更改工作时钟频率的各种实现方式、可以是192MHz、64MHz、96MHz 和48MHz、结合使用 UART 16x 模式和 UART 13x 模式、但它们都不会产生分频值的十进制值。

    谢谢!

    Neehar

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

    您好!  

    您能告诉我如何在 Linux 端将 UART 的波特率配置为460800吗? 此外、我们读取哪个寄存器来查看当前波特率配置。

    我需要同步更改时钟配置吗!

    平地机、

    Maxiel

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

    尊敬的 Maxiel:

    无法准确配置460800的波特率、因为 Linux 和 RTOS 都遵循上述表格。 您只能实现误差百分比为+0.16%的461540。要查看当前波特率、您可以访问 UART_DLH、UART_DLL 以获得除数值、并访问 UART_MDR1[2:0]以获得波特率倍数、并使用以下公式:

    除数值=工作频率/(波特率的倍数(13或16)×波特率)  

    谢谢!

    Neehar

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

    您好!

    请在 RTOS UART 驱动程序中集成以下更改、以支持460800波特率。

    e2e.ti.com/.../uart_5F00_480600_5F00_support.patch

    此致、
    Sudheer