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.

[参考译文] MSP430F5438A:CAN't GET 921.6Kbps 可以在 UART 上工作

Guru**** 2439710 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1526148/msp430f5438a-can-t-get-921-6kbps-working-on-uart

器件型号:MSP430F5438A

工具/软件:

我使用的是使用 24.576MHz 外部时钟运行的 5438A、SMCLK =此速率。  当我尝试将波特率设置为 921.6Kbps 时、无论我设置的 UCMTL 是什么、我都可以获得 1543Kbps。  我已验证我可以设置 460.8Kbps、在另一端设置为 2Mbps(不设置 uCOS)。

似乎存在一个问题、即 BRW = 1 且 uCOS=1 忽略了 MCTL 寄存器的其余部分。

我尝试过的计算值  

BRW:MCLK:结果

1 : B7: 1543Kbps(我的电子表格)

1:5B:  1543Kbps(来自 mspgcc.sourceforge.net/.../msp-uart.pl  

1:6B:  1543Kbps(其他一些网站)

1:  0: 1543Kbps

1:FF: 1543Kbps

如果我使用 uCOS=0、我只能获得 9xxKbps、但我想知道原因。 早期的 MSP 在 BR0 和 BR1 都设置为 0 时出现问题。 这是这样吗?

谢谢。

MAS

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

    我不知道您用于 UCBRF。

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

    糟糕。 我在看 EUSCI、而这似乎只是一个 USCI。 在这种情况下、这适用于:

    “当 UCBRx 被设置为 0 或 1 时、第一个预分频器和调制器级被旁路掉、BRCLK 等于 BITCLK16。在这种情况下、BITCLK16 无法进行调制、因此 UCBRFx 位会被忽略。“

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

    a 在第 36.3.9.2 节中错过了该 tidbit。  感谢确认、我将更新我的电子表格。