void Init_CLK(void)
{
P7SEL|= (XT1IN+XT1OUT); // 端口功能选择外部晶振XT2=16MHz
UCSCTL6 &= ~XT1OFF ; // XT1振荡器使能
UCSCTL6 |= XT1DRIVE0 + (~XT1DRIVE1)+XTS ; // XT1 最大驱动模式 16~24MHz ,HF mode
UCSCTL3 |= SELREF_0; //FLLREFCLK =XT1CLK .且FLLREFCLK不分频
UCSCTL4 |= (SELA__XT1CLK+SELM__XT1CLK+SELS__XT1CLK); // ACLK=XT1,SMCLK=XT1,MCLK=XT1
do
{
UCSCTL7 &= ~XT1HFOFFG; // 清除 XT1 错误标志 //delay(5);
}while (UCSCTL7&XT1HFOFFG); // 检测 XT1 错误标志
}
**********************************************************************************************
void Init_UART(void)
{
P5SEL |= BIT6 + BIT7; // 选择串口
P5DIR |= BIT6; // TXD选择发送
P5DIR &= ~BIT7; // RXD选择接收
UCA1CTL1 |= UCSWRST; // 复位串口功能
UCA1CTL0 |= UCMODE0; // 选择串口功能,UART 模式
UCA1CTL0 &= ~UC7BIT; // 8位数据模式
UCA1CTL1 |= UCSSEL__ACLK; // 时钟源选择 16MHz
UCA1BR0 = 0x21;
UCA1BR1 = 0x08;
UCA1MCTL = 0x06; // 波特率调整因子 UCOS16=1 过采样模式 ;UCOS16=0,LF mode
UCA1CTL1 &= ~UCSWRST; // 使能串口功能
// UCA1IE |= UCRXIE; // 使能接收中断
// UCA1IE |=UCTXIE;
_BIS_SR(GIE);
}
*******************************************************************************************************************
红色标出的代码,我不太清楚,如何配置成119200,也参考手册上的数值配置过,UCBRx=833;(UCA1BR0=0x21;UCA1BR1=0x08),UCBRSx=2(UCA1MCTL=0x06)但是不通。