luat系统中的异或校验程序

--[[异或校验string1:输入的须交验的字符串xordata:返回的字符串校验
]]
function BCC(string1)local xordata = bit.bxor(string.byte(string1,1,1),string.byte(string1,2,2))--log.info(xordata)for i = 3,#string1 do--xordata的数据类型为number类型xordata = bit.bxor(xordata,string.byte(string1,i,i))endlog.info("-----------xordata-----------",xordata)--转换为十六进制的字符串local crc = string.format("%x",xordata) if(#crc == 1) then  -- 不足两位的话,前面补零crc = "0"..crcendreturn crc
end

测试

--[[异或校验string1:输入的须交验的字符串xordata:返回的字符串校验
]]
function BCC(string1)local xordata = bit.bxor(string.byte(string1,1,1),string.byte(string1,2,2))--log.info(xordata)for i = 3,#string1 do--xordata的数据类型为number类型xordata = bit.bxor(xordata,string.byte(string1,i,i))endlog.info("-----------xordata-----------",xordata)--转换为十六进制的字符串local crc = string.format("%x",xordata) if(#crc == 1) then  -- 不足两位的话,前面补零crc = "0"..crcendlog.info(crc)return crc
endfunction read_press_com(stringAdd)local send = "$"..stringAdd.."RP0"local crc  = BCC(stringAdd.."RP0")local ret = string.char(0x0D)send = send .. crc..retreturn send
endlocal c = read_press_com("25")print(c)-- 对于“25RP0”的异或校验是“35”[19:49:25] 虚拟机初始化完毕
[19:49:25] [I]-[-----------xordata-----------]  53.0
[19:49:25] [I]-[35]
[19:49:25] $25RP035[19:49:25] 虚拟机已停止运行

luat系统中的异或校验程序相关推荐

  1. c语言控制安卓桌面,让你自己编写的Android的Launcher成为系统中第一个启动应用程序,也是唯一的Launcher...

    关注嵌入式安卓物联网行业及人才培养,每日更新,欢迎订阅及留言讨论~~~ 作者:倪键树,嵌入式安卓物联网讲师. 让你自己编写的Android的Launcher成为系统中第一个启动应用程序,也是唯一的La ...

  2. linux ctg重装,Linux 系统中 CTG 的安装, 应用程序开发以及调试

    Linux 系统中 CTG 的安装, 应用程序开发以及调试 准备 1)CICS Transaction Gateway for Multiplatforms, CICS Transaction Gat ...

  3. mac系统中自带的邮件程序如何添加qq邮箱帐号?

    mac系统中自带的邮件程序怎么添加qq邮箱帐号?工作总最常用的就是qq邮箱,想把qq邮箱添加到mac系统自带的邮件中去,该怎么设置呢?下面我们来看看mac系统添加qq邮箱的方法. 各位使用苹果系统的小 ...

  4. linux系统怎么结束程序,如何在 Linux 系统中结束进程或是中止程序

    如何在 Linux 系统中结束结束进程或是中止程序 进程出错的时候,您可能会想要中止或是中断这个进程.本文,我们将在命令行和图形界面中探索进程或是应用程序的中断,这里我们使用 gedit 作为样例程序 ...

  5. cmd中从c盘切换到d盘,并在Windows系统中从终端运行Python程序

    1 首先打开cmd,如下图所示: 2.接着输入d:并回车 3.接着输入cd及路径并回车即可 4.最后,输入python my_test.py并回车即可实现在Windows终端运行Python程序的目的 ...

  6. Linux文件目录sha256,在Linux系统中使用SHA256来校验下载的文件的方法

    当你下载了一个 ISO 镜像,特别是从 BitTorrent 网络上很多未知的种子处下载的,通常建议要验证下载镜像的完整性. 对于 Ubuntu 发行版的情况, Canonical 提供了几个供验证使 ...

  7. 改变mac系统中默认的pdf打开程序

    找到要打开的文件,右键点击,如下图所示: 打开方式→其他,显示如下图所示: 勾选始终以此方式打开,即可.

  8. python程序设置_Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索"计划任务",并且点击打开" ...

  9. Solaris 系统中的snoop命令详解

    原文地址:http://blog.51cto.com/candon123/153254 Snoop 是Solaris 系统中自带的工具, 是一个用于显示网络通讯的程序, 它可捕获IP 包并将其显示或保 ...

最新文章

  1. 鸿蒙生死印里的声音是谁,逆天邪神:喊逆玄的确实是黎娑,鸿蒙生死印应该也是活物...
  2. 终于明白了 DevOps 与 SRE 的区别!
  3. FreeOTP可以用作谷歌认证的替代
  4. Seleunim 获取文本和标签属性的方法
  5. jar包导出无法显示图片或者音乐_音乐曲谱软件-Guitar Pro 7 for Mac
  6. 112页数学知识整理!机器学习-数学基础回顾.pptx
  7. vs项目中头文件(.h)静态库(.lib)和 动态库(.dll )的路径和配置
  8. Linux下部署MyEclipse开发环境
  9. windows远程登录 ubuntu Linux 系统及互连共享桌面
  10. ADPC2-D 分配颜色
  11. LeetCode | 我的LeetCode之旅(持续更新ing)
  12. POJ3737 UmBasketella
  13. android设置密码框,Android手机卫士之设置密码对话框
  14. Defense hash algorithm collision 防御hash算法冲突导致拒绝服务器
  15. 计算面积的计算机软件,多边形面积算法和填充法开发等轴晶比例计算专用软件-软件工程论文-计算机论文.docx...
  16. UVALive 6437
  17. 7月11日自助装机配置专家点评
  18. Python 破解 MD5 暗号
  19. Raft 共识算法3-日志复制
  20. CSR867x — Headset项目评估总结

热门文章

  1. 双11即将来临,你盖楼了吗?
  2. BI-LSTM,BILSTM-CRF,Lattice-LSTM基本原理以及在NER中的应用
  3. mumu安装xposed
  4. Latex自动生成bibitem参考文献
  5. 隐藏input的小眼睛的方法
  6. 模块化设计的一般准则
  7. C语言 | 最大公约数最小公倍数
  8. case when 用法
  9. 如何取消计算机限制移动储存,如何禁止电脑使用可移动存储设备、禁止电脑复制文件到U盘的方法...
  10. 自定义标签---word