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.

[参考译文] TMS320F28027:SCI 回路示例中的波特率说明。

Guru**** 2533840 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1267424/tms320f28027-baud-rate-clarification-in-sci-loop-back-example

器件型号:TMS320F28027

大家好!

我需要在 TI28027中设置9600波特率。  

当我使用参考手册中给出的公式计算

BRR = LSPCLK /(SCI 异步波特* 8)- 1

LSPCLK 为10MHz、SCI 异步波特率为9600我将获得 208Ch

因此、SCIHBAUD 设置应该为

SciaRegs.SCIHBAUD = 0x0020;
SciaRegs.SCILBAUD = 0x008C;

在此(SCI_Loopbac_interrupt)示例中、它显示了以下两行。

 SciaRegs.SCIHBAUD = 0x0000;
SciaRegs.SCILBAUD = SCI_PRD;

将鼠标指针进一步放在 SCI_PRD 附近并使用 macro_exapfsion、其显示为

(40E6/4/(100E3*8))-1

这应该意味着波特率是100k、对吧?

我想知道默认示例程序中是否通常使用100k 波特率设置、其中提到100k 波特率会导致更高的误差百分比。

此外、对于9600波特率、我的计算值(208Ch)是正确的? 此外、我想知道上面提到的宏 SCI_PRD 的说明在哪里。

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

    尊敬的 Sachin:

    SCIHBAUD 看起来好像没有更新、因此您需要使用 driverlib 中的 SCI 波特率函数来更新该寄存器。 为此、请使用 sci 示例。

    wei deng3 说:
    此外、我想知道提到的宏 SCI_PRD 的说明在哪里。

    您能否尝试右键点击 SCI_PRD、然后点击"open declaration"? 这将为您指明正确的位置。

    此致、

    文斯