欢迎来到天天文库
浏览记录
ID:28237213
大小:24.50 KB
页数:4页
时间:2018-12-09
《按下列要求新建一程序.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1、按下列要求新建一程序:①将从串行口收到的数据原样发送到串行口。②根据从串行口收到的数据控制四种不同的LED显示效果,收到字符’1’:LED灯的效果为实验一中的效果1,并向串行口发送字符串“LED效果1”;收到字符’2’:LED灯的效果为实验一中的效果2,并向串行口发送字符串“LED效果2”;收到字符’3’:LED灯的效果为实验一中的效果3,并向串行口发送字符串“LED效果3”;收到字符’4’:LED灯的效果为实验一中的效果4,并向串行口发送字符串“LED效果4”;收到其他字符:LED灯全部一起闪烁(同时亮同时熄,周期1秒),并向串行口发送字符串“输入错误!”三.程序设计:1.串口初始化
2、子程序:/*SCIInit:串行口初始化子程序---------------------------**功能:对串行口进行初始化,默认为允许SCI,正常码输出,8位**数据,无校验等,允许发送器允许接收器.查询方式收发,**波特率为9600(设fBUS=2.4576MHz)**参数:无**返回:无**-----------------------------------------------------*/#include"GP32C.H"voidSCIInit(void){//总线频率fBUS=2.4576MHz,定义波特率Bt=9600SCBR=0b00000010;//设置允许SC
3、I,正常码输出、8位数据、无校验SCC1=0b01000000;//设置允许发送、允许接收,查询方式收发SCC2=0b00001100;}2.串行发送与接收子程序:*参数:待发送的数据字节数及其要存放的数组首地址**返回:无**-----------------------------------------------------*/voidSCISendN(unsignedcharn,unsignedcharch[]){inti;for(i=0;i4、**功能:从串行口接收1个字节的数据**参数:标志指针p**返回:接收到的数据(若接收失败,返回0xff)**说明:参数*p带回接收标志=0收到数据,=1未收到数据**-----------------------------------------------------*/unsignedcharSCIRe1(unsignedchar*p){unsignedintk;unsignedchari;//ReStatusR第ReTestBit位为1表示可接收数据for(k=0;k<0xfbbb;k++)if((ReSendStatusR&(1<5、dDataR;*p=0x00;break;}if(k>=0xfbbb){i=0xff;*p=0x01;}returni;//返回接收到的数据}/*SCIReN:HC08串行接收N个字节---------------------------**功能:接收N个字节数据,并存放在ch数组中**参数:待接收的数据字节数及其存放的数组首地址**返回:接收标志=0收到数据,=1未收到数据**-----------------------------------------------------*/unsignedcharSCIReN(unsignedcharn,unsignedcharch[]){i6、ntm;unsignedcharfp;m=0;while(m7、口发送字符串“LED效果2”;{for(i=0;i<=6;i++){Light_P=~(3<
4、**功能:从串行口接收1个字节的数据**参数:标志指针p**返回:接收到的数据(若接收失败,返回0xff)**说明:参数*p带回接收标志=0收到数据,=1未收到数据**-----------------------------------------------------*/unsignedcharSCIRe1(unsignedchar*p){unsignedintk;unsignedchari;//ReStatusR第ReTestBit位为1表示可接收数据for(k=0;k<0xfbbb;k++)if((ReSendStatusR&(1<5、dDataR;*p=0x00;break;}if(k>=0xfbbb){i=0xff;*p=0x01;}returni;//返回接收到的数据}/*SCIReN:HC08串行接收N个字节---------------------------**功能:接收N个字节数据,并存放在ch数组中**参数:待接收的数据字节数及其存放的数组首地址**返回:接收标志=0收到数据,=1未收到数据**-----------------------------------------------------*/unsignedcharSCIReN(unsignedcharn,unsignedcharch[]){i6、ntm;unsignedcharfp;m=0;while(m7、口发送字符串“LED效果2”;{for(i=0;i<=6;i++){Light_P=~(3<
5、dDataR;*p=0x00;break;}if(k>=0xfbbb){i=0xff;*p=0x01;}returni;//返回接收到的数据}/*SCIReN:HC08串行接收N个字节---------------------------**功能:接收N个字节数据,并存放在ch数组中**参数:待接收的数据字节数及其存放的数组首地址**返回:接收标志=0收到数据,=1未收到数据**-----------------------------------------------------*/unsignedcharSCIReN(unsignedcharn,unsignedcharch[]){i
6、ntm;unsignedcharfp;m=0;while(m7、口发送字符串“LED效果2”;{for(i=0;i<=6;i++){Light_P=~(3<
7、口发送字符串“LED效果2”;{for(i=0;i<=6;i++){Light_P=~(3<
此文档下载收益归作者所有