欢迎来到天天文库
浏览记录
ID:30789054
大小:191.50 KB
页数:5页
时间:2019-01-03
《msp430g2553-串口调试测试程序-寡人-发送与接收》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//1MHz9600//1MHz9600voidDelay_us(uintus)精确)for(i=0;i2、闭看门狗//设置时钟DCOCTL=CALDCO_1MHZ;木程序是单片机MSP430G2553P1.2UCAOTXD串口发送端P1.1UCAORXD串口接受端P1.0红灯指示P1.6绿刘扌S示利用主辅时钟为1MH乙串口波特率9600,波特率:1000000/9600=104UCA0BR0=104;UCA0BR1=0;现象:功能(1)看到P1.0…红灯指示;P1.6…绿灯指示循环闪烁。同时电脑串口调试助手(设置波特率:9600,无校验,8位数据位,1位停止位)不断显示,0x00,0x01,0x40,0x41。功3、能(2)打开电脑串口调试助手,发送区有数据待发送时,在接受区将看到相应的数据。■立■上■上■立■上■立■立■立■立■立■立■立/彳.叫.叫.彳.叫.彳.叫.叫.叫.彳.彳.叶.叶.吟.吟./includenmsp430g2553.hu#defineuintunsignedint#defineucharunsignedchar〃延时us前提是f=lMHZ(不建议用该延时,不是很P1DIR=OxFF;PlOUT=0;P1SEL4、=BIT1+BIT2+BIT4;P1SEL25、=B1T1+B1T2;P2DIR=OxF6、F;P2OUT=();UCA0CTL17、=UCSSEL_2;UCAOBRO=104;UCA0BR1=0;UCAOMCTL=UCBRS2+UCBRSO;UCA0CTL1&=〜UCSWRST;IE28、=UCAORXIE;//AllPl.xoutputs//AllPl.xreset//Pl.l=RXD,P1.2=TXD//Pl.4二SMCLK,othersGPIO//AllP2.xoutputs//AllP2.xreset//SMCLK//1MHz9600//1MHz9600//ModulationUCBRSx=59、//^InitializeUSCIstatemachine**bis_SR_register(GIE);〃9口便能开启//总中断使能P1DIR10、=(B1T0+BIT6);PlOUT11、=(BIT0+BIT6);while(l)//a=0x41时,红绿灯全亮;a=00时,红绿灯全灭;//a=0x01时,红灯亮;绿灯灭;a=0xl0时,绿灯亮;红灯灭;UCA0TXBUF=TX[a];Delay_ms(500);PlOUT=UCA0TXBUF;a++;if(a>3)a=0;//EchobackRXedcharacte12、r,confirmTXbufferisreadyfirst#pragmavcctor=USCIABORX_VECTOR-interruptvoidUSC10RX」SR(void)〃接受中断{//ucharb;while(!(IFG2&UCA0TXIFG));//USCI_A()TXbufferready?〃判断串口的发送是否正在工作,〃因为要使用发送功能,所以得判断发送是否忙碌,〃只有在不忙碌的时候才可以启用发送。〃这一句就是判断发送是否在工作,如果是在工作,那么一直等待到不工作为止。UCA0TXBUF=UC13、A0RXBUF;//TX->RXedcharacter硬件连接图:
2、闭看门狗//设置时钟DCOCTL=CALDCO_1MHZ;木程序是单片机MSP430G2553P1.2UCAOTXD串口发送端P1.1UCAORXD串口接受端P1.0红灯指示P1.6绿刘扌S示利用主辅时钟为1MH乙串口波特率9600,波特率:1000000/9600=104UCA0BR0=104;UCA0BR1=0;现象:功能(1)看到P1.0…红灯指示;P1.6…绿灯指示循环闪烁。同时电脑串口调试助手(设置波特率:9600,无校验,8位数据位,1位停止位)不断显示,0x00,0x01,0x40,0x41。功
3、能(2)打开电脑串口调试助手,发送区有数据待发送时,在接受区将看到相应的数据。■立■上■上■立■上■立■立■立■立■立■立■立/彳.叫.叫.彳.叫.彳.叫.叫.叫.彳.彳.叶.叶.吟.吟./includenmsp430g2553.hu#defineuintunsignedint#defineucharunsignedchar〃延时us前提是f=lMHZ(不建议用该延时,不是很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时,红绿灯全亮;a=00时,红绿灯全灭;//a=0x01时,红灯亮;绿灯灭;a=0xl0时,绿灯亮;红灯灭;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?〃判断串口的发送是否正在工作,〃因为要使用发送功能,所以得判断发送是否忙碌,〃只有在不忙碌的时候才可以启用发送。〃这一句就是判断发送是否在工作,如果是在工作,那么一直等待到不工作为止。UCA0TXBUF=UC
13、A0RXBUF;//TX->RXedcharacter硬件连接图:
此文档下载收益归作者所有