2、閉看門狗//設(shè)置時(shí)鐘DCOCTL=CALDCO_1MHZ;木程序是單片機(jī)MSP430G2553P1.2UCAOTXD串口發(fā)送端P1.1UCAORXD串口接受端P1.0紅燈指示P1.6綠劉扌S示利用主輔時(shí)鐘為1MH乙串口波特率9600,波特率:1000000/9600=104UCA0BR0=104;UCA0BR1=0;現(xiàn)象:功能(1)看到P1.0…紅燈指示;P1.6…綠燈指示循環(huán)閃爍。同時(shí)電腦串口調(diào)試助手(設(shè)置波特率:9600,無校驗(yàn),8位數(shù)據(jù)位,1位停止位)不斷顯示,0x00,0x01,0x40,0x41。功
3、能(2)打開電腦串口調(diào)試助手,發(fā)送區(qū)有數(shù)據(jù)待發(fā)送時(shí),在接受區(qū)將看到相應(yīng)的數(shù)據(jù)?!隽ⅰ錾稀錾稀隽ⅰ錾稀隽ⅰ隽ⅰ隽ⅰ隽ⅰ隽ⅰ隽ⅰ隽?彳.叫.叫.彳.叫.彳.叫.叫.叫.彳.彳.葉.葉.吟.吟./includenmsp430g2553.hu#defineuintunsignedint#defineucharunsignedchar〃延時(shí)us前提是f=lMHZ(不建議用該延時(shí),不是很P1DIR=OxFF;PlOUT=0;P1SEL
4、=BIT1+BIT2+BIT4;P1SEL2
5、=B1T1+B1T2;P2DIR=OxF
6、F;P2OUT=();UCA0CTL1
7、=UCSSEL_2;UCAOBRO=104;UCA0BR1=0;UCAOMCTL=UCBRS2+UCBRSO;UCA0CTL1&=?UCSWRST;IE2
8、=UCAORXIE;//AllPl.xoutputs//AllPl.xreset//Pl.l=RXD,P1.2=TXD//Pl.4二SMCLK,othersGPIO//AllP2.xoutputs//AllP2.xreset//SMCLK//1MHz9600//1MHz9600//ModulationUCBRSx=5
9、//^InitializeUSCIstatemachine**bis_SR_register(GIE);〃9口便能開啟//總中斷使能P1DIR
10、=(B1T0+BIT6);PlOUT
11、=(BIT0+BIT6);while(l)//a=0x41時(shí),紅綠燈全亮;a=00時(shí),紅綠燈全滅;//a=0x01時(shí),紅燈亮;綠燈滅;a=0xl0時(shí),綠燈亮;紅燈滅;UCA0TXBUF=TX[a];Delay_ms(500);PlOUT=UCA0TXBUF;a++;if(a>3)a=0;//EchobackRXedcharacte
12、r,confirmTXbufferisreadyfirst#pragmavcctor=USCIABORX_VECTOR-interruptvoidUSC10RX」SR(void)〃接受中斷{//ucharb;while(!(IFG2&UCA0TXIFG));//USCI_A()TXbufferready?〃判斷串口的發(fā)送是否正在工作,〃因?yàn)橐褂冒l(fā)送功能,所以得判斷發(fā)送是否忙碌,〃只有在不忙碌的時(shí)候才可以啟用發(fā)送?!ㄟ@一句就是判斷發(fā)送是否在工作,如果是在工作,那么一直等待到不工作為止。UCA0TXBUF=UC
13、A0RXBUF;//TX->RXedcharacter硬件連接圖: