| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6124 人关注过本帖
标题:按字节异或的问题
取消只看楼主 加入收藏
lqab1983
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2013-11-29
结帖率:16.67%
收藏
已结贴  问题点数:10 回复次数:2 
按字节异或的问题
有一个字符串,头是‘$',尾是这串的校验和。校验和是从$起到校验和前一字节按字节异或的结果。 比如:(16进制的)24 49 43 4A 43 00 0C 00 00 00 00 2B(2B是校验和)
我写了个函数是用来接收别人按这个格式发来的一串字符串。  
    if (XXX_start == 1)  //标志位为1,开始接收
           {
              rev_buf3[num3++] = ch;  //字符存到数组中
            
              if((ch != 0x24) && (checknum == ch))
              {
                   USART_ITConfig(USART3,USART_IT_RXNE,DISABLE);  //关闭USART3接收中断
                   rev_buf3[num3] = '\0';
                   XXX_start = 0;
                   XXX_stop  = 1;            
                   num3 = 0;
                   checknum = 0x00;
              }
}          我想问下,我用收到的每个字符按字节异或来和新收到的字符作比较,判断是否接受完成,是否可行? 会不会出现提前求到校验和而终止本不该结束的字符串。
搜索更多相关主题的帖子: 字符串 
2013-12-10 14:01
lqab1983
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2013-11-29
收藏
得分:0 
上过,貌似能提前异或到校验和
2013-12-10 14:23
lqab1983
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2013-11-29
收藏
得分:0 
那我想问下,如果我题头那个例子24 49 43 4A 43 00 0C 00 00 00 00 2B里的 00 0C 2个字节代表这个串的长度。我怎么提取下可以表示为这个串的长度,用10进制表示?
2013-12-10 16:09
快速回复:按字节异或的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017719 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved