CRC-16/MODBUS x16+x15+x2+1校验计算 C++

news/2024/11/25 5:51:12/

CRC-16/MODBUS x16+x15+x2+1校验计算

#include <stdio.h>
int main(void)
{
    unsigned short tmp = 0xffff;
    unsigned short ret1 = 0;
    unsigned char buff[8] = {0};
    buff[0] = 0xa5;
    buff[1] = 0x5a;
    buff[2] = 0x02;
    buff[3] = 0x03;
    buff[4] = 0x84;
    buff[5] = 0x00;
    buff[6] = 0x01;
    buff[7] = 0x00;

    for(int n = 0; n < 8; n++)

     {
        tmp = buff[n] ^ tmp;
        for(int i = 0;i < 8;i++)

           {
            if(tmp & 0x01){
                tmp = tmp >> 1;
                tmp = tmp ^ 0xa001;
            }   
            else

           {
                tmp = tmp >> 1;
            }   
        }   
    }   
    /*CRC校验后的值*/
    printf("%X\n",tmp);
    return 0;
}


http://www.ppmy.cn/news/337467.html

相关文章

Go语言开发工具LiteIDE x15.2发布,两周年纪念

LiteIDE是一款基于Qt的跨平台Go语言开发工具&#xff0c;2011年1月10日发布第一版。2013年1月10日两周年纪念&#xff0c;发布x15.2版&#xff0c;更换新的LOGO&#xff0c;修复BUG&#xff0c;支持Go1和Go源码最新hg-tip版。 项目地址:https://github.com/visualfc/liteide 下…

windows7所有版本迅雷地址下载集合(含32位和64位)

Windows7 SP1旗舰版 32位官方原版下载: ed2k://|file|/cn_windows_7_ultimate_with_sp1_x86_dvd_618763.iso|2651877376|D6A0D9FDB8C67A65B92B4C1AC197109C|/ Windows7 SP1旗舰版 64位官方原版下载: ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso|341905…

risc-v汇编语言输出斐波那契数列前6位数(仅供参考,不一定正确)

.data array_A: .word 3,5,7,9,11 .text la x8,array_A #x8为数组A首地址&#xff0c;x9&A[i] add x9,x8,x0 #x9&A[0] add x10,x0,x0 #nextTerm0 add x11,x0,x0 #i0 addi x13,x0,6 #循环次数 addi x14,x0,1 #x14为t1 addi x15,x0,1 #x15为t2 Loop: bge x11,…

CRC16常见几个标准的算法及C语言实现

CRC16常见的标准有以下几种&#xff0c;被用在各个规范中&#xff0c;其算法原理基本一致&#xff0c;就是在数据的输入和输出有所差异&#xff0c;下边把这些标准的差异列出&#xff0c;并给出C语言的算法实现。 CRC16_CCITT&#xff1a;多项式x16x12x51&#xff08;0x1021&a…

机器学习基本模型与算法在线实验闯关

第1关:缺失值填充 任务描述 本关任务:读取“银行贷款审批数据.xlsx”表,自变量为x1-x15,决策变量为y(1-同意贷款,0-不同意贷款),其中x1-x6为数值变量,x7-x15为名义变量,请对x1-x6中存在的缺失值用均值策略填充,x7-x15用最频繁值策略填充。 # -*- coding: utf-8 -*…

利用TI的官网Sysconfig配置beagleboard-x15 linux系统中的串口

1、获取linux内核 git clone https://github.com/beagleboard/linux.git2、编译linux内核 2.1、清理工程 make distclean2.2、配置内核 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- omap2plus_defconfig2.3、编译内核 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf-…

目标检测YOLO实战应用案例100讲-基于小样本的目标检测与跟踪模型研究

目录 基于小样本目标检测方法的研究 (1)基于数据增强的方法 (2)基于度量学习的方法

AI之PTM:预训练模型技术总结与进展(更新中)

AI之PTM&#xff1a;预训练模型技术总结与进展(更新中) 目录 预训练模型技术 1.系统研究超大规模智能模型发展和影响的新兴领域已经形成 (1)、OpenAI 提出 PALMS 数据集构建和模型微调方法 (2)、Percy Liang、李飞飞等学者提出基础模型概念 (3)、DeepMind 发表语言模型社会…