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

MSP430F149 关于UART0与UART1的同时使用

因为需要我想使用PC传数据给串口0,串口0再给串口1,由串口1发出给外设。因为实现不了功能所以我就弄了下面这个测试程序,单独测试串口0与串口1。发现只有串口0可以把PC发来数据传回PC,而串口1却不能。所以很疑惑,我最近两天才接触MSP430,麻烦大侠能告诉我原因。



#include  <msp430x14x.h>

void UART0_Init(void);
void UART1_Init(void);


void main(void)
{WDTCTL = WDTPW + WDTHOLD;UART0_Init();UART1_Init();while(1);
}

void UART0_Init(void)
{P3SEL |= BIT4;P3SEL |= BIT5;P3DIR |= BIT4;ME1 |= UTXE0 + URXE0;UCTL0 |= CHAR;UTCTL0 |= SSEL0;UBR00 = 0x03;UBR10 = 0x00;UMCTL0 = 0x4A;UCTL0 &= ~SWRST;IE1 |= URXIE0;_BIS_SR(LPM3_bits + GIE);
}

#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{_BIS_SR(GIE);while (!(IFG1 & UTXIFG0));TXBUF0 = RXBUF0;
}

void UART1_Init(void)
{P3SEL |= BIT6;P3SEL |= BIT7;P3DIR |= BIT6;ME2 |= UTXE1 + URXE1;UCTL1 |= CHAR;UTCTL1 |= SSEL0;UBR01 = 0x03;UBR11 = 0x00;UMCTL1 = 0x4A;UCTL1 &= ~SWRST;IE2 |= URXIE1;_BIS_SR(LPM3_bits + GIE);
}

#pragma vector=USART1RX_VECTOR
__interrupt void usart1_rx (void)
{while (!(IFG2 & UTXIFG1));TXBUF1 = RXBUF1;
}
kela jin:

单独测试UART0与UART1是没问题的,使用的是IAR FOR MSP430  V5.30

,

kela jin:

问题解决了,我初始化uart0时已经进入低功耗模式了,又怎么会初始化uart1呢?

困扰了好久,感谢Q群里面的大头兵,问题顺利解决

,

yuechao gao:

你好,我的项目也和你一样 通过PC发给串口0接收,再由串口1发送给外设,你可以把你的程序让我参考下吗?发我邮箱158763924@qq.com     谢谢 

,

user5331863:

您好,我最近也在研究msp430,对您的成果很有兴趣,方便把程序发给我吗?qq920711511,感谢感谢。

,

user6477655:

您好,我最近也在研究msp430,对您的成果很有兴趣,方便把程序发给我吗?2837669923@qq.com,感谢感谢

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F149 关于UART0与UART1的同时使用
分享到: 更多 (0)