当前位置: 首页 > news >正文

烟草建设网站/网络营销整合营销

烟草建设网站,网络营销整合营销,有模版之后怎么做网站,mac安装不了wordpress关于单片机串口中断接收帧包,此类东西网上一搜也是一大片,具体我就不在这里做过多的介绍了。 不过还是大概说下吧:所谓帧就是一串特定格式的数据,而数据当然是由字符构成的。 一般帧由 :帧头、地址信息、数据类型、数据…

关于单片机串口中断接收帧包,此类东西网上一搜也是一大片,具体我就不在这里做过多的介绍了。

不过还是大概说下吧:所谓帧就是一串特定格式的数据,而数据当然是由字符构成的。

一般帧由 :帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾

逻辑协议解析的目的,首先判断数据包的完整性,正确性,然后提取数据类型,数据等数据,存放起来用于主程序处理。

本文假设此数据为: 0x0C 0xAA 0xFA 0x55 0xFA data[...]... sum xor 0xf9

帧头 Ox0C OxAA 

源地址 0xFA 
目的地址 0x55
数据长度 0xfa
校验码 sum xor 
帧尾 0xf9

代码如下:

 1 unsigned char data_BUFF[]={0};
 2 unsigned char datacheck_OK = 0;  //数据接收校验标志位
 3 unsigned char rc_datbuff;        //数据
 4 unsigned char lennum;       //帧 数据长度  
 5 unsigned char length=0;         // 帧数据包的主数据 标志
 6 unsigned char sumchkm=0;         //帧数据和校验
 7 unsigned char xorchkm=0;      //帧数据的与或校验
 8 
 9 void RXBUFFINIT(){
10     
11     EA=1;
12     .
13     .
14     .
15 
16 }
17 
18 void main(){
19 
20 
21     while(1){
22         if(datacheck_OK == 0){       //校验第一次包头码
23             if(rc_datbuff == 0x0C)
24                 datacheck_OK = 1;
25             else datacheck_OK = 0;
26         }
27         esle if(datacheck_OK == 1){    //校验第二次包头码
28                 if(rc_datbuff == 0x0C)
29                     datacheck_OK = 2;
30                 else datacheck_OK = 0;
31         }
32         else if(datacheck_OK == 2){
33              if(rc_datbuff == 0xFA){             //校验源地址码                    
34                 sumchkm = rc_datbuff; //开始计算累加、异或校验和
35                 xorchkm = rc_datbuff;
36                 datacheck_OK = 3;                
37             }
38              else datacheck_OK =0;        
39         }
40         else if(datacheck_OK == 3){              // 校验目的地址码
41              if(rc_datbuff == 0x55){                                
42                 sumchkm += rc_datbuff; //开始计算累加、异或校验和
43                 xorchkm ^= rc_datbuff;
44                 datacheck_OK = 4;                
45             }
46              else datacheck_OK =0;        
47         }
48         else if(datacheck_OK == 4){        //数据长度
49                 length = 0;  //数据计数清零
50                 lennum = rc_datbuff;       //数据长度
51                 sumchkm += rc_datbuff; 
52                 xorchkm ^= rc_datbuff; 
53                 datacheck_OK = 5;         
54         }
55         else if(datacheck_OK == 5 || datacheck_OK == 6){   //数据接收&完成
56              data_BUFF[length++] = rc_datbuff;
57              sumchkm += rc_datbuff; 
58              xorchkm ^= rc_datbuff; 
59              if(length == lennum) datacheck_OK = 7;
60              else datacheck_OK = 6;
61         }
62         else if(datacheck_OK == 7){
63              if(sumchkm == rc_datbuff ) datacheck_OK == 8;   //校验累加值与与或值是否相等
64              else datacheck_OK == 0;
65         }
66         else if(datacheck_OK == 8){
67              if(xorchkm == rc_datbuff ) datacheck_OK == 9;   //校验累加值与与或值是否相等
68              else datacheck_OK == 0;
69         }
70         else if(datacheck_OK == 9){                   //判断帧尾
71              if(rc_datbuff == 0xf9) datacheck_OK == 0xff;   //置为标志位
72              else datacheck_OK == 0;
73         }        
74     
75     }
76 }
77 
78 
79 
80 void RX_BUFF(void) interrupt 0 using 1 {
81         
82         .
83         .
84         .
85         rc_datbuff=BUFF;
86     
87 }
datacheck_OK:为数据标志位,用于确定当前包在数据中的那个位置,并且接收过程中自动对接收数据进行校验和处理,

在数据包接收完的同时也进行了校验的比较。因此当帧尾结束符接收到的时候,则表示一帧数据已经接收完毕,并且通过了校验,

关键数据也保存到了缓冲去中。

转载于:https://www.cnblogs.com/HarewareFox/p/7192490.html

http://www.lbrq.cn/news/929053.html

相关文章:

  • 网站需要服务器吗?/怎么引流怎么推广自己的产品
  • 兔展/南京seo按天计费
  • 重庆装修公司推荐/进一步优化营商环境
  • html制作手机网站/长沙官网优化公司
  • ASP.NET2.0网站开发全程解析/武汉网络推广
  • 儿童网站建设外文翻译/东莞seo建站哪家好
  • 安徽网站建设外贸/徐州网页关键词优化
  • 信阳做网站推广/怎样做网络推广挣钱
  • 四川住房建设部官方网站/上海平台推广的公司
  • 工厂做网站/提高网站收录的方法
  • 网站建设ppt介绍/外链网站是什么
  • 苏州制作网站的公司/中国法律服务网app最新下载
  • 做全国性的app网站推广多少/零基础学电脑培训班
  • 南通做百度网站的公司网站/电商入门基础知识
  • 小程序制作平台价格/绍兴seo外包
  • 海南定安建设局网站/想学销售去哪培训
  • 网站的下载链接怎么做/在线生成个人网站app
  • 昆明公司做网站的价格/百度竞价推广点击软件奔奔
  • 日本做美食视频网站有哪些/百度收录软件
  • 襄阳seo招聘/阜新网站seo
  • 自己可以做电子商务网站/网络推广100种方法
  • 花店网站模板 html/搜索引擎外部链接优化
  • 建设用地预审系统官方网站/正规seo大概多少钱
  • 网站权重怎么刷/外贸网站免费推广
  • 奢侈品网站 方案/阿里指数在哪里看
  • 知名的咨询行业网站制作/人力资源培训
  • 自己动手制作网站/剪辑培训班一般学费多少
  • 营销类网站模板/衡水seo优化
  • 网址和网站的区别/免费智能seo收录工具
  • 做网站怎么做多少钱/微信朋友圈推广平台
  • 南太平洋金融基建革命:斐济-巴新交易所联盟的技术破局之路 ——从关税动荡到离岸红利,跨境科技如何重塑太平洋资本生态
  • 如何快速部署主数据管理解决方案?
  • 正向运动学(Forward Kinematics,简称FK)和逆向运动学(Inverse Kinematics,简称IK)
  • RabbitMQ 消费者确认 (Ack/Nack) (With Spring Boot)
  • 新手向:DeepSeek 部署中的常见问题及解决方案
  • 【腾讯云】EdgeOne免费版实现网站加速与安全防护