FCS校验 C语言简单实现
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语言简单实现的更多相关文章
- Perl语言——简单说明
Perl语言——简单说明 一.简单说明 Perl语言全称:实用摘录与报表语言|病态折中式垃圾列表器.Perl名称并不是缩写词,而是个溯写字. Perl语言历史:Larry Wall(拉里·沃尔)20世 ...
- c语言简单实现telnet客户端
c语言简单实现telnet客户端 http://blog.csdn.net/haiwenchen/article/details/69944118
- js实现json格式化,以及json校验工具的简单实现
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...
- 这是啥-Cython语言简单介绍
Cython是一种既可以编写c又可以编写python的编程语言,他的目标是成为一个python语言的超集,为python提供高层次的.面向对象的.函数化.动态编程功能.不同于纯粹的python,它提供 ...
- 用C语言简单加密解密
使用char表示的字符型数据,在本质上与我们前面介绍的整型数据并无太大的区别,只是char类型占用的内存字节数更小,能够表示的数据范围更小而已.在使用上,char被专门用来表示C语言的字符集中的各种字 ...
- cxf的使用及安全校验-02创建简单的客户端接口
上一篇文章中,我们已经讲了如果简单的创建一个webservice接口 http://www.cnblogs.com/snowstar123/p/3395568.html 现在我们创建一个简单客户端接口 ...
- HTML语言简单回顾
简单复习一下html语言. html的基本结构如下: <html> <head> <title></title> </head> <b ...
- Go语言简单学习
GO 支持goroutine 和通道,并且推荐使用消息而不是共享内存来进行并发编程,总体来说,Go语言是一个非常现代化的语言,精小但非常强大 Go语言的主要特性: 1.自动垃圾回收 2.更丰富的内置类 ...
- 手搓一个C语言简单计算器。
#include <stdio.h> void xing(int shu); void biaoti(int kong,char * title); void zhuyemian(char ...
随机推荐
- ansible使用3-playbook
playbook是ansible用于配置部署的语言.使用YAML格式. 示例 --- - hosts: webservers vars: http_port: 80 max_clients: 200 ...
- memcached 的配置及 spymemcached 客户端简单使用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.同时也可以用作不同系统之间的数据共享.应用比较广泛.下面介绍一下环境的memcached环境的搭建及简单实 ...
- SQL查询某一字段重复的数据
查询出重复记录 select * from 数据表 WHERE 重复记录字段 in ( select 重复记录字段 from 数据表 group by 重复记录字段 having count(重复记 ...
- php之判断点在多边形内的api
1.判断点在多边形内的数学思想:以那个点为顶点,作任意单向射线,如果它与多边形交点个数为奇数个,那么那个点在多边形内,相关公式: <?php class AreaApi{ //$area是一个多 ...
- mysql5.6之前需要账号的安全加固
mysql5.6之前需要账号的安全加固 从5.7开始就不需要了. delete from mysql.user where user!='root' or host='localhost'; flus ...
- 【CCPC-Wannafly Winter Camp Day4 (Div1) A】夺宝奇兵(水题)
点此看题面 大致题意: 有\(n\)种宝藏,每种各两个.让你依次获得\(1\sim n\)号宝藏,然后依次获得剩余的\(n\sim1\)号宝藏,求最少步数. 简单结论 其实这题有一个十分简单的结论,即 ...
- setTimeout详解
一.setTimeout基础 setTimeout(func|code,delay); 第一个参数表示将要推迟的函数名或者一段代码,第二个参数表示推迟执行的毫秒数 eg: console.log( ...
- DOM(四):h5扩展方法
getElementByClassName()方法getElementByClassName()方法接收一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList //取得所 ...
- 引用类型(一):Object类型
对象表示方式 1.第一种方式:使用new操作符后跟Object构造函数 var person = new Object();<br/> person.name = 'Nicholas';& ...
- IntelliJ IDEA环境使用
转:https://blog.csdn.net/zwj1030711290/article/details/80673482 https://blog.csdn.net/zrc199021/artic ...