主题中讨论的其他器件:TRF7970A、
您好!
我有一个基于 MSP430F2370和 TRF7970A 的定制板。 TRF7970A 有一个13.56MHz 晶振并且 TRF7970A 的 SYS_CLK 被连接至 MSP430F2370的 XIN。
TRF7970A SYS_CLK 输出被配置为6.78MHz。
我正在尝试在 MSP430F2370和外部控制器之间设置 UART、但它无法正常工作。 下面是我的 MSP430F2370振荡器设置和 UART 设置代码。
void MCU_OscSel(){
BCSCTL1 |= XTS + XT2OFF;// ACLK = LFXT1 HF XTAL
BCSCTL3 |= LFXT1S1;// 3–16MHz 晶振或谐振器
// TRF796x sys_clk 引脚用作振荡器
//在 Trf797xInitialSettings()中将其设置为6.78MHz (=13.56MHz/2)
//打开外部振荡器
操作
{
IFG1 &=~OFIFG;//清除 OSCFault 标志
对于(II1 = 0xFF;II1 > 0;II1--)//设置标志的延时时间
{
}
} while ((IFG1 & OFIFG)=OFIFG);// OSCFault 标志仍然置1?
BCSCTL2 |= SELM1 + SELM0 + SELS;// MCLK = SMCLK = HF LFXT1 (安全)
}
void UART_setup (void)//使用 USCI_A0
{
P3SEL |= BIT4 + BIT5;// P3.4、P3.5 - UART 模式
P3DIR |= BIT4;// P3.4 -输出方向
UCA0CTL1 |= UCSWRST;//禁用 UART
UCA0CTL0 = 0x00;
UCA0CTL1 |= UCSSEL_2 + UCSWRST;//来自 SMCLK 的源,保持软件复位
UCA0BR0 = 0x3A;//波特率= 115200
UCA0BR1 = 0x00;
UCA0MCTL = 0;//UCBRS_2 + UCBRS0;//调制 UCBRSx = 2
UCA0CTL1 &=~UCSWRST;//初始化 USCI 状态机
IE2 |= UCA0RXIE;//启用 USCI_A0 RX 中断
}
此致、
Madhudhan