TI中文支持网
TI专业的中文技术问题搜集分享网站

msp430f122使用32k晶体,串口数据发布出去

我的串口配置程序如下:

void Uart0_Init(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD
P3DIR |= 0x10; // P3.4 output direction
BCSCTL1&= ~XTS; // LFXT1工作在低频模式
BCSCTL2 |= SELM1+SELM0; // MCLK = LFXT1 (safe)
UCTL0 |= CHAR; // 8-bit character
UTCTL0 |= SSEL1; // 波特率发生源为SMCLK
UBR00 = 0x01; // UBR10 = 0x00; //
UMCTL0 = 0x00; // UCTL0 &= ~SWRST;
ME2 |= UTXE0 + URXE0; // Enabled USART0 TXD/RXD
IE2 |= URXIE0; // Enabled USART0 RX interrupt
}

然后 串口的数据就是发不出来,然后我把这句“BCSCTL1&= ~XTS;”改成“BCSCTL1|= XTS;”数据是可以发出去了,但发送不同长度的数据串口的波特率在示波器上显示不同,不知道什么原因

Peter_Zheng:

用上位机的串口调试助手接收数据,看看数据是不是跟发的一样。

yffy:

可以先用上位机的串口调试助手看看,最好还是用一个8M的晶振那样会好点,不知你发不出去是怎么检测的,是不是和其它的单片机通讯?和其它的单片机通讯波特率的精度很重要。以前用串口和PC通信正常,但是就是和单片机通信不正常。

Lina Lian:

bin li1, 你的外部LFXT1接着多大的晶振?是32768Hz的还是其他的?你把MCLK, SMCLK从管脚引出来看看,究竟是多大。串口数据直接用串口调试助手看比较好。O(∩_∩)O~

赞(0)
未经允许不得转载:TI中文支持网 » msp430f122使用32k晶体,串口数据发布出去
分享到: 更多 (0)