在写串口通信时,经常因为时钟频率或波特率更改,需要重新配置波特率寄存器,以MSP430F5438A为例,记录一下寄存器配置方法:
//=============================
void Hal_Uart_Init(void)
{
P3SEL|=RXD+TXD; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSWRST; // **Put state machine in reset**
UCA0CTL1 |= UCSSEL__SMCLK; // CLK = UCSSEL__SMCLK ,8192000Hz
UCA0BR0 = 0x55; // 8192000Hz /9600=853.33333333333
UCA0BR1 = 0x03; //
UCA0MCTL = UCBRS_2+UCBRF_0; // Modulation UCBRSx=2, UCBRFx=0
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
UCA0IE |= UCRXIE; // Enable USCI_A0 RX inte