#include<msp430F149>
/*
*/
void uart0_idev_init(void)
{
P3SEL |= BIT4 + BIT5; // 1. 选择P3.4和P3.5做UART0通信端口
ME1 |= UTXE0 + URXE0; // 2. 使能USART0的发送和接受
UCTL0 |= CHAR; // 3. 选择8位字符
UTCTL0 |= SSEL0; // 4. 选择时钟源, ACLK :SSEL0
// SMCLK : SSEL1
UBR00 = 0x03; // 5. 波特率 32767HZ: 9600
UBR10 = 0x00; //
UMCTL0 = 0x4A; // Modulation
UCTL0 &= ~SWRST; // 6. 初始化UART状态机
IE1 |= URXIE0; // 7. 使能USART0的接收中断
}
void uart0_send_byte(BYTE dat)
{
while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready?
TXBUF0 = dat;
}
INT8U uart0_rec(void)
{
return RXBUF0;
}
/
pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
}
/*
*/
void uart1_idev_init(void)
{
P3SEL |= BIT6 + BIT7; // 1. 将P3.6,P3.7选做UART1的通信端口
ME2 |= UTXE1 + URXE1; // 2. 使能USART0的发送和接受
UCTL1 |= CHAR; // 3. 选择8位字符
UTCTL1 |= SSEL0; // 4. 选择时钟源, ACLK :SSEL0
// SMCLK : SSEL1
UBR01 = 0x03; // 5. 波特率 32767HZ: 9600
UBR11 = 0x00; //
UMCTL1 = 0x4A; // Modulation
UCTL1 &= ~SWRST; // 6. 初始化UART状态机
IE2 |= URXIE1; // 7. 使能USART1的接收中断
}
void uart1_send_byte(BYTE dat)
{
while (!(IFG2 & UTXIFG1)); // USART0 TX buffer ready?
TXBUF1 = dat;
}
/*
INT8U uart1_rec(void)
{
return RXBUF1;
}
pragma vector=UART1RX_VECTOR
__interrupt void usart1_rx (void)
{
}
原文地址:http://blog.csdn.net/jxm_csdn/article/details/45218121