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.

[参考译文] MSP430FR5043:更改 MSP430FR5043 上的波特率后 UART 通信出现问题

Guru**** 2661125 points

Other Parts Discussed in Thread: MSP430FR5043, MSP430FR6043

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1591998/msp430fr5043-issue-with-uart-communication-after-changing-baud-rate-on-msp430fr5043

器件型号: MSP430FR5043
主题中讨论的其他器件: MSP430FR6043

现象说明:
当波特率从 9600bps 更改为其他值时、通信停止工作。

详细信息:
目前、微控制器使用 ACLK (32.768kHz) 并以 9600bps 的速度与 PC 通信、不会出现问题。 但是、进行以下更改后、通信失败:

-更改 1:将时钟源从 ACLK 切换到 SMCLK
-更改 2:将波特率从 9600 bps 更改为 38400 bps 或 115200 bps

以下是不同组合的结果:

|图形  |时钟 |波特率|结果|
|----- |----- |-----  |----- |
| 1.        | ACLK |  9600      |好的      |
| 2.        | ACLK  | 38400    |不可能|
| 3.        | SMCLK | 9600    | OK |     
| 4.        SMCLK | 38400  | x |    
| 5.      | SMCLK | 115200  | x |    

注意:
ACLK = 32.768kHz、SMCLK = 8MHz
OK =通信正常、x =通信失败

使用的寄存器设置:

示例 1:9600bps 下的 ACLK
UCA1CTLW0 |= 0x0040;
UCA1BRW = 3;
UCA1MCTLW = 0x9200;

示例 2:SMCLK 速率为 38400bps
UCA1CTLW0 || UCSSEL_SMCLK;
UCA1BRW = 13;
UCA1MCTLW = 0x8401;

问题:
1、上述更改设置的步骤是否正确?
2.如果它们是正确的,您能提供通信失败的可能原因吗?
3.如果不正确,配置这些设置的正确方法是什么?

 

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

    为 SMCLK 附加了 UART 计算器应该能够为您提供正确的值。

    e2e.ti.com/.../2526.MSP430UartCalc.zip

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

    您好:

    感谢您的反馈。 但是、我注意到提供的信息似乎适用于 MSP430FR6043、而我使用的是 MSP430FR5043。
    根据前面建议的步骤、我无法成功配置波特率。

    您能否提供在 MSP430FR5043 上设置波特率的正确程序?

    目前、即使使用以下设置、波特率也不会改变:

    示例 1:9600bps 下的 ACLK
    UCA1CTLW0 |= 0x0040;
    UCA1BRW = 3;
    UCA1MCTLW = 0x9200;

    示例 2:SMCLK 速率为 38400bps
    UCA1CTLW0 || UCSSEL_SMCLK;
    UCA1BRW = 13;
    UCA1MCTLW = 0x8401;

    问题:
    -这些设置是否不正确?
    -如果它们是正确的,是否有一个额外的步骤,我错过了?

    感谢您的帮助。

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

    波特率不变。 这表明您没有注意到只有当 UCSWRST = 1 时某些内容才能改变。 例如您列出的所有内容。