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.

[参考译文] MSP430F5529:使用1MHz MCLK 将 UART 波特率设置为19200

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/943903/msp430f5529-set-uart-baud-rate-to-19200-with-1mhz-mclk

器件型号:MSP430F5529

您好、由于某种原因、我无法将 UART0波特率设置为19200。 以下是我使用的设置:

WDTCTL = WDTPW + WDTHOLD;//停止 WDT

P3SEL |= BIT3+BIT4;             // P3.3、4 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSWRST;         //**将状态机置于重置中**
UCA0CTL1 |= UCSSEL_2;         // SMCLK
UCA0BR0 = 54;                 // 1MHz 19200 (请参阅用户指南)
UCA0BR1=0;                  // 1MHz 19200
UCA0MCTL = 0xAD;             //调制 UCBRSx=1、UCBRFx=0
UCA0CTL1 &=~UCSWRST;         //**初始化 USCI 状态机**
UCA0IE |= UCRXIE;               //启用 USCI_A0 RX 中断

_bis_SR_register (LPM0_bits + GIE);//输入 LPM0、中断被启用
__no_operation();

不知道我做了什么错?

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

    我想知道 MCTL 值来自哪里。 用户指南(SLAU208Q)表36-4调用 MCTL=0x0A (BRF=0、BRS=5、UCOS16=0)、不是0xAD (BRF=10、BRS=6、 UCOS16=1)。  [参考 UG 表36-11]

    我希望 UCOS16=1是这里的大问题。