用C编写的RS232串口通信程序(共2页).docx
《用C编写的RS232串口通信程序(共2页).docx》由会员分享,可在线阅读,更多相关《用C编写的RS232串口通信程序(共2页).docx(2页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上void main() delayms(100); init(); /初始化系统delayms(100);init_wdt(); /初始化看门狗 while(1) while(!RI_0) /是否收到数据 clr_wdt(); RI_0=0; /清除接收中断标志buffer=S0BUF;if(buffer=0x5a) /检测祯头0start0=1;if(buffer=0x54) /检测祯头1 start1=1;if(buffer=0x5a) /检测祯尾0end0=1;if(buffer=0xfe) /检测祯尾1end1=1;if(start0=1)&(start1=1
2、) buffi=buffer; /从祯头1开始存储数据i+;if(end0=1)&(end1=1) /是否已经接收祯尾 count=i; /数据长度为count个i=1;if(buff2=0x03)&(count=107) /是否422指令buff0=0x5a; /重填祯头0buffcount-4=0; /校验和清零for(k=2;k(count-4);k+) /计算校验和 buffcount-4+=buffk;for(k=0;kcount;k+) /从祯头1开始循环发送S0BUF=buffk;while(!TI_0); /等待发送完成TI_0=0; /清除发送中断标志reset(); else if(buff2=0x05)&(count=7) /是否AD测试指令 sendad();reset();else if(buff2=0x18)&(count=7) /是否发送时序信号指令 sendpaulse();reset();else /如果接收错误,则恢复各标志位为初始状态以便下次接收 reset(); void reset()start0=0; /祯头祯尾标志位清零start1=0;end0=0;end1=0;for(k=0;kcount;k+)buffk=0x00; /缓冲区清零count=0; /计数清零专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编写 RS232 串口 通信 程序
限制150内