欢迎来到天天文库
浏览记录
ID:40525891
大小:15.01 KB
页数:3页
时间:2019-08-04
《CC2430串口收发程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//定义控制灯的I/O口#defineLED1P1_0#defineLED2P1_1/**********初始化串口函数*************/voidinitUARTtest(void){CLKCON&=~0x40;//晶振while(!(SLEEP&0x40));//等待晶振稳定CLKCON&=~0x47;//TICHSPD128分频,CLKSPD不分频SLEEP
2、=0x04;//关闭不用的RC振荡器PERCFG=0x00;P0SEL=0x3c;//P0口用作串口U0CSR
3、=0x80;//UART方式U0GCR
4、=10;U0BAUD
5、=216;//波特率设为5760
6、0UTX0IF=1;U0CSR
7、=0X40;//允许接收IEN0
8、=0x84;//开总中断,接收中断}/****************************************************************主函数****************************************************************/voidmain(void){P1DIR=0x03;//定义P1控制小灯LED1=1;//关LED2=1;//低有效initUARTtest();stringlen=strlen((char*)Recdata);U
9、artTX_Send_String(Recdata,27);while(1){if(RTflag==1)//接收标志{LED2=0;//接收状态指示,低有效if(temp!=0){if((temp!=''''''''*'''''''')&&(datanumber<33)){//“*”表示为结束字符//最多能接收33个字符Recdata[datanumber++]=temp;}else{RTflag=3;//进入发送状态}if(datanumber==30)RTflag=3;temp=0;}}if(RTflag==3)//发送{LED2=1;//关LED2LED1=0;//发送
10、状态指示,低有效U0CSR&=~0x40;//不能收数UartTX_Send_String(Recdata,datanumber);U0CSR
11、=0x40;//允许收数RTflag=1;//恢复到接收状态datanumber=0;//指针归0LED1=1;}}}/****************************************************************串口发送字符串函数****************************************************************/voidUartTX_Send_Strin
12、g(uchar*Data,intlen){intj;for(j=0;j{U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}}/****************************************************************串口接收一个字符****************************************************************/#pragmavector=URX0_VECTOR__interruptvoidUART0_ISR(void){URX0IF=0;//清中断标志te
13、mp=U0DBUF;}
此文档下载收益归作者所有