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

wordpress中国网站排名医疗机械网站怎么做

wordpress中国网站排名,医疗机械网站怎么做,充值网站 模板,如皋住房和城乡建设局网站【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 为了验证数据传输的过程中有没有发生翻转#xff0c;我们在传输报文的同时一般还会添加一个crc校验。对于modbus协议也是一样#xff0c;它在数据…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 为了验证数据传输的过程中有没有发生翻转我们在传输报文的同时一般还会添加一个crc校验。对于modbus协议也是一样它在数据的末尾也有两个字节分别代表着两个校验数据。举例说明假设当前有7个数据需要传输那么这个时候这7个数据就会额外生成2个校验数据这样发送的数据长度就是9个大体就是这么个意思。 1、crc校验算法 关于crc校验算法可以简单地理解成对前面的数据做一个数学运算。通过数学运算得到一个结果这个结果就是校验码。如果传输的过程中有效数据或者校验码发生了改变那么接收方一般要求发送方重新发送一下数据。也许有人会说会不会有效数据和校验码正好发生了改变但是他们的计算结果又是一致的有没有这种可能性不能说没有只能说极低。 具体算法内容大家不需要死记硬背只要会使用就可以了 private byte[] crc16_tableHi new byte[256]{0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40};private byte[] crc16_tableLo new byte[256]{0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40};public ushort calculate_crc(byte[] puchMsg, ushort usDataLen){byte uchCRCHi 0xFF; /* high unsigned char of CRC initialized */byte uchCRCLo 0xFF; /* low unsigned char of CRC initialized */byte uIndex; /* will index into CRC lookup table */ushort pos 0;while (pos usDataLen)/* pass through message buffer */{uIndex (byte)(uchCRCHi ^ puchMsg[pos]); /* calculate the CRC */uchCRCHi (byte)(uchCRCLo ^ crc16_tableHi[uIndex]);uchCRCLo crc16_tableLo[uIndex];pos 1;}return (ushort)((ushort)(uchCRCHi 8) | (ushort)(uchCRCLo));} 2、编写界面测试 编写界面的话其实只需要一个textbox就可以了。输入数据的话可以做的简单一点比如在c# wpf中写死反正也是为了测试验证一下算法而已。 public MainWindow(){InitializeComponent();byte[] val new byte[] { 0x01, 0x03, 0x00, 0x12, 0x00, 0x10 };var result calculate_crc(val, (ushort)val.Length);plaintextTextBox.Text result.ToString(X4);} 3、交叉验证 还有的同学可能会说怎么保证我们计算的校验码是正确的呢这里还有一种方法就是通过搜索引擎去查找可以计算modbus校验码的网站。将网站上面计算的结果与我们实际代码计算的结果进行比对查看是否一致。如果一致那没问题不一致的话就要去查找原因了。
http://www.huolong8.cn/news/262598/

相关文章:

  • 拼多多网站建设过程佟年做网站给KK
  • 手机网站设计论文管理系统软件
  • 网站查看空间商江苏网站备案流程图
  • wordpress 英文企业站网站写动态新闻有什么好处
  • 网站备案的流程莆田网站建设方法
  • 多企业宣传网站建设百度推广代理公司广州
  • 如何建好一个网站济南招聘网最新招聘
  • 个人网站开发的环境网站如何做视频的软件
  • 网站模版更新公告辽阳网站开发公司
  • 做网站技术好学嘛网站头部seo范例
  • 做古建的那些网站比较适合导航网站制作
  • 营销型网站的建设步骤南和县住房和建设局网站
  • 企业网站推广方法有哪些上海知名网站推广
  • 网站建设的几大原则长春房产网官网新楼盘
  • 手机怎么访问wap网站网站的经营推广
  • 分类信息网站开发报价wordpress每篇文章怎么加关键词
  • 黑网站代码制作住房建设局网站首页
  • 养老保险网站开网站赚钱
  • 海外 酒店 网站建设凡科做的网站可以在百度搜到吗
  • DW怎么做电商网站体育新闻最新消息世界杯
  • 建一个淘宝客网站要多少钱wordpress说说加分类
  • 潍坊网站建设选聚搜网络专业的企业网站制作
  • html网站开发主要涉及哪些技术前端seo搜索引擎优化
  • 如何查网站是织梦做的个人适合网站类型
  • 网站建设 的系统公式apache wordpress 优化
  • 广州品牌网络营销方式网站推广优化方式
  • 太原网站制作哪儿好薇深圳网站开发哪家专业
  • 百度搜索不到网站wordpress加目录
  • 旅游网站案例wordpress前台显示双语
  • 上市公司的信息网站广西网站建设企业