static uint8 calcFCS(uint8 *pBuf, uint8 len)
{
  uint8 rtrn = 0;
  while (len--)
  {
    rtrn ^= *pBuf++;
  }
  return rtrn;
}

FCS
FCS訊框檢查序列(Frame Check Sequence, FCS)為 32 位元 CRC 檢查碼。
所謂的CRC錯誤就是指訊框(Frame->網路中傳輸的資料,在連結層中的最小單位)的FCS值與計算得到的FCS值不匹配,可能的原因為傳輸中的Frame被損壞所造成。

FCS是802.3訊框和Ethernet訊框的最後一個字段.
FCS is a field at the end of the frame that's used to store the CRC.2、FCS是由DCS与PLC发展而来,FCS不仅具备DCS与PLC的特点,而且跨出了革命性的一步。FCS是由DCS與PLC發展而來,FCS不僅具備DCS與PLC的特點,而且跨出了革命性的一步。
FCS的关键要点有三点: FCS的關鍵要點有三點:
1、 FCS系统的核心是总线协议,即总线标准 1、FCS系統的核心是總線協議,即總線標準
2、FCS系统的基础是数字智能现场装置 2、FCS系統的基礎是數字智能現場裝置
3、FCS系统的本质是信息处理现场化 3、FCS系統的本質是信息處理現場化
这个只是通用的叫法,具体的FCS还要分各类校验方法,如CRC校验、XOR校验、LRC校验等,各个校验方法也要细分,如CRC分16位的、32位的等待。具體的FCS還要分各類校驗方法,如CRC校驗、XOR校驗、LRC校驗等,各個校驗方法也要細分,如CRC分16位的、32位的等。 我们说的FCS校验只是说明了这个位的数据是对这个帧的序列做校验,若想知道采用什么校验,需要给进一步的说明才可以。我們說的FCS校驗只是說明了這個位的數據是對這個訊框的序列做校驗,若想知道採用什麼校驗,需要給進一步的說明才可以。
最普遍的FCS算法是cyclic redundancy check (CRC), 用于與32 bits, X.25 16或32 bits, HDLC 16 or 32 bits, Frame Relay 16 bits

FCS校验 C语言简单实现的更多相关文章

  1. Perl语言——简单说明

    Perl语言——简单说明 一.简单说明 Perl语言全称:实用摘录与报表语言|病态折中式垃圾列表器.Perl名称并不是缩写词,而是个溯写字. Perl语言历史:Larry Wall(拉里·沃尔)20世 ...

  2. c语言简单实现telnet客户端

    c语言简单实现telnet客户端 http://blog.csdn.net/haiwenchen/article/details/69944118

  3. js实现json格式化,以及json校验工具的简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...

  4. 这是啥-Cython语言简单介绍

    Cython是一种既可以编写c又可以编写python的编程语言,他的目标是成为一个python语言的超集,为python提供高层次的.面向对象的.函数化.动态编程功能.不同于纯粹的python,它提供 ...

  5. 用C语言简单加密解密

    使用char表示的字符型数据,在本质上与我们前面介绍的整型数据并无太大的区别,只是char类型占用的内存字节数更小,能够表示的数据范围更小而已.在使用上,char被专门用来表示C语言的字符集中的各种字 ...

  6. cxf的使用及安全校验-02创建简单的客户端接口

    上一篇文章中,我们已经讲了如果简单的创建一个webservice接口 http://www.cnblogs.com/snowstar123/p/3395568.html 现在我们创建一个简单客户端接口 ...

  7. HTML语言简单回顾

    简单复习一下html语言. html的基本结构如下: <html> <head> <title></title> </head> <b ...

  8. Go语言简单学习

    GO 支持goroutine 和通道,并且推荐使用消息而不是共享内存来进行并发编程,总体来说,Go语言是一个非常现代化的语言,精小但非常强大 Go语言的主要特性: 1.自动垃圾回收 2.更丰富的内置类 ...

  9. 手搓一个C语言简单计算器。

    #include <stdio.h> void xing(int shu); void biaoti(int kong,char * title); void zhuyemian(char ...

随机推荐

  1. iOS 谓词(NSPredicate)的应用

    Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredica ...

  2. centos6.5 网卡配置

    家里用的电脑是电信拨号的 所以用不了桥接模式 改用nat vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" HW ...

  3. hibernate 模拟实现和What is and Why O/R Mapping

    What is and Why O/R Mapping What is : 用面向对象的方式调用api,类库帮我们翻译成面向关系的方式. Why: 1.JDBC操作数据库很繁琐2.Sql 语句编写并不 ...

  4. Azure进阶攻略丨如何驾驭罢工的Linux虚机网卡?

    很多人的生活中,流传着一个屡试不爽,据说可以解决任何问题的百宝锦囊: 所以经常可以听到类似这样的对话: -我的电脑咋上不去网了? -重启一下电脑. -还是不行呢! -重启一下路由器. -怎么还不行-_ ...

  5. 仿照everything写的一个超级速查 原创

    http://files.cnblogs.com/files/jacd/%E8%B6%85%E9%80%9F%E6%9F%A5%E6%96%87%E4%BB%B6.zip 速度奇快无比,体积奇小无比, ...

  6. MYSQL 之SET GLOBAL innodb_buffer_pool_size =n

    工作遇到一个情况是索引相同的情况下,mysql服务在linux上运行很快,在windows服务器上运行很慢,版本是V5.7以后得版本,同事查找了下说应该设置 SET GLOBAL innodb_buf ...

  7. 字符串处理(POJ1782)

    题目链接:http://poj.org/problem?id=1782 解题报告: #include <iostream> #include <cstdio> #include ...

  8. Java中阻塞队列的使用

    http://blog.csdn.net/qq_35101189/article/details/56008342 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如 ...

  9. 自己编写shave函数

    import numpy def shave(I,border=None): I = I[border[0]:I.shape[0]-border[0],border[1]:I.shape[1]-bor ...

  10. 【PC-x86-x64】JDK 32bit与64bit的区别及x64 PC的发展历程【转】

    一次偶然分析的机会: 在进行Minecraft也就是所谓的我的世界游戏的时候,在对局域网进行开放的时候,我的是64bit的JDK,而我同学的是32bit的JDK,所以在进行局域网链接的时候就会出现In ...