[1-5]玩转MSP430F5529之串口通信

一、接线图

        RXD->P3.4,TXD->P3.3

二、串口的发送和接收

#include <msp430.h> 
/**
 * main.c
 */
int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer
	P3SEL |= BIT3+BIT4;//P3.3,P3.4=USCI_A0 TXD/RXD

	//串口的初始化
	UCA0CTL1 |= UCSWRST;//模块处于复位状态
	UCA0CTL1 |=UCSSEL_2;//选择时钟源SMCLK
	UCA0BR0 = 8;//分频系数:1MHZ 115200
	UCA0BR1 = 0;//分频系数:1MHZ 115200

	UCA0MCTL |=UCBRS_6 + UCBRF_0;//调整部分:UCBRSx=6,UCBRFx=0
	UCA0CTL1 &= ~UCSWRST;//启用模块

	//串口接收
	UCA0IE |= UCRXIE;//使能中断USCI_A0 RX
	_EINT();//开启全局中断
	LPM0;//进入低功耗模式
	_NOP();//试调用
}
//中断服务函数
//将接收的数据重新发回
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
    switch(__even_in_range(UCA0IV,4))
    {
        case 0:break;//无中断

        //串口发送
        case 2:
            //等待TXBUF为空,将接收的数据读回后发出
            while(!(UCA0IFG&UCTXIFG));
            UCA0TXBUF=UCA0RXBUF;
            break;
        case 4:break;// Vector 4 - TXIFG
        default:break;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值