串口接收字符串

上传人:子 文档编号:41841621 上传时间:2018-05-31 格式:DOC 页数:8 大小:29KB
返回 下载 相关 举报
串口接收字符串_第1页
第1页 / 共8页
串口接收字符串_第2页
第2页 / 共8页
串口接收字符串_第3页
第3页 / 共8页
串口接收字符串_第4页
第4页 / 共8页
串口接收字符串_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《串口接收字符串》由会员分享,可在线阅读,更多相关《串口接收字符串(8页珍藏版)》请在金锄头文库上搜索。

1、串口接收字符串串口接收字符串/串口接收以特定字符为开头的字符串并且保存特定字符之后的有效位#include#define uint unsigned char#define uchar unsigned intuchar ser_receive; /串口接收到的数据uchar ser_flag=0;uchar receive_number11=0;/接收串口发送来的数据的数组 uchar i=0;uchar j;uchar come=0;void init_ser()TMOD=0X20;/定时器 1 工作在方式 2 TH1=0XFD;TL1=0XFD; /波特率 9600 TR1=1;EA=1

2、;SM0=0;SM1=1;REN=1;/允许串口接收 ES=1;/开串口 中断 void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/* 程序目的:串口接收字符串,但是要以字符 a 为开头的后面的 11位字符,若开头不为 a 则接收不写入数组* 若开头为 a 但是发送有效位超过 11 位 就把后面的截断 只要前 11 位*补充:该程序也可以改为接受任意字符串 (但是字符串的长度 必须是大体确定的)*/void ser() interrupt 4 /中断函数不用声明 if(RI=1)RI=0;ser_receive=SBUF;if(

3、come=1)if(ser_receive!=0i+;if(i=11)i=0;ser_flag=1;come=0;else if(ser_receive=a) come=1;void main()init_ser();while(1)if(ser_flag=1)ES=0;ser_flag=0;for(j=0;j#define uint unsigned char#define uchar unsigned intuchar ser_receive; /串口接收到的数据uchar ser_flag=0;uchar receive_number12=0;uchar i=0;uchar j;void

4、 init_ser()TMOD=0X20;/定时器 1 工作在方式 2 TH1=0XFD;TL1=0XFD; /波特率 9600 TR1=1;EA=1;SM0=0;SM1=1;REN=1;/允许串口接收 ES=1;/开串口 中断 void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void ser() interrupt 4 /中断函数不用声明 if(RI=1)RI=0;ser_receive=SBUF;if(ser_receive!=0)receive_numberi=ser_receive;i+;if(i=12)i=0;ser_flag=1;void main()init_ser();while(1)if(ser_flag=1)ES=0;ser_flag=0;for(j=0;j12;j+)SBUF=receive_numberj;while(!TI);TI=0;delay(10);ES=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号