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.

[参考译文] CCS/MSP430F233:MSP430F233外部振荡器、SMCLK 为16MHz

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/715662/ccs-msp430f233-msp430f233-external-oscillator-with-smclk-at-16mhz

器件型号:MSP430F233

工具/软件:Code Composer Studio

您好!

我正在尝试将 UART 配置为使用频率为16MHz 的 SMCLK、并使用外部振荡器(XT2CLK)。  我已经尝试从用户指南中配置波特率和调制、并且也阅读了用户指南中的基本时钟模块一章。  每次我在 MCU 上测试 UART 通信引脚时、我似乎都无法获得一致的串行数据流。 我在下面添加了 UART 配置代码。 我是忽略一个额外的校准控制寄存器、还是需要从代码中删除任何寄存器?

 UART 初始化

P3SEL = 0x30;// P3.4、5 = USCI_A0 TXD/RXD

BCSCTL2 = SELM_2 | DIVM_0 | SELS | DIVS_1;

DCOCTL = 0x00;

BCSCTL1 |= DIV_0;

BCSCTL1 &=~XT2OFF;

BCSCTL3 = XT2S_3 | LFXT1S_0 | XCAP_0;

CCTL0 = CCIE;// CCR0中断被启用

CCR0 = 40000;

TACTL = tassel_2 + MC_2;// SMCLK、contmode

UCA0CTL1 |= UCSWRST;//**将状态机置于复位状态**

UCA0CTL1 |= UCSSEL_2;//时钟源 SMCLK

UCA0BR0 = 138;// 16MHz 115200

UCA0BR1 = 0;// 16MHz 115200

UCA0MCTL = UCBRS_7 + UCBRF_0;//调制 UCBRSx = 7

UCA0CTL1 &=~UCSWRST;//**初始化 USCI 状态机**

IE2 |= UCA0RXIE;//启用 USCI_A0 RX 中断


谢谢