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.

[参考译文] TMS320F28377D:有关 SCI 波特率计算的问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/595267/tms320f28377d-question-on-baud-rate-calculation-for-sci

器件型号:TMS320F28377D

您好!

    我正在尝试使用 TMS320F28377D 中的 SCI 函数。 从文档 SPRUHM8F 第2006页的表19-3中、对于9600波特率、BRR 值应该是650、基于公式、但是十六进制的650应该是'0x28A'、我不明白1616h 意味着什么。 我尝试使用0x16表示 SCIHBAUD、使用0x16表示 SCILBAUD、但它不起作用。 如果我为寄存器使用0x28A、则通信正常、但有时会出现大量错误数据。 我猜两个器件之间的波特率不是很匹配。 是否有人能解释1616h 的含义以及如何使波特率精确? 谢谢!

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

    您好!

    公式为:

    例如、如果 LSPCLK = 15MHz (请检查您的器件)

    BRR =[15e6/(9600*8)]-1

            = 194dec

                   = C2hex

    低8位写入 SCILBAUD、高8位写入 SCIHBAUD。 因此、C2被直接写入 SCILBAUD、同时将 SCIHBAUD 留为空值或0。

    此致、

    Gautam

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

    您好、Gautam、

      感谢你的答复。 公式是我用于计算 BRR 的公式。 但问题是:我使用50MHz LSPCLK,需要9600波特率,所以我需要 BRR=650 (十进制)=28A (十六进制),我只是不明白1616h 在手册中的含义。

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

    只需注意、它们看起来不像等效的十六进制值! 以下是 F2802x 系列 SCI 用户指南中的表格:

    这是有道理的!

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

    表中的十进制值正确、但十六进制值错误。 正确的做法是、对于9600波特、十六进制值应为0x028A。

    我将提交一个 TT、以便在文档中更正此问题。