專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

Modbus ASCII RTU LRC CRC

作者:huqin   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月09日   【字體:

RTU即Remote Terminal Unit的縮寫,中文譯為遠(yuǎn)程終端裝置。 

CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check):是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。
LRC 縱向冗余校驗(yàn)(Longitudinal Redundancy Check,簡(jiǎn)稱:LRC)是通信中常用的一種校驗(yàn)形式,也稱LRC校驗(yàn)或縱向校驗(yàn)。

LRC校驗(yàn)碼
這是MODBUS通訊協(xié)議ASCII方式的校驗(yàn)方法,LRC校驗(yàn)碼不能直接用指
令求出,但可編制程序自動(dòng)算出,
算法:將參與校驗(yàn)的數(shù)據(jù)求和,取其低8位的

補(bǔ)碼為校驗(yàn)碼
例:求數(shù)據(jù) 01H,03H,21H,02H,00H,02H 之求和校驗(yàn)碼。 求

和:01H + 03H + 21H + 02H + 00H + 02H = 29H
求補(bǔ)碼有二種方法:
① 求反加1
② 用FFH相減 我們下面用求反加一來(lái)做
0 0 1 0 1 0 0 1
求反: 1 1 0 1 0 1 1 0
加 1: 0 0 0 0 0 0 0 1
1 1 0 1 0 1 1 1
D 7
LRC校驗(yàn)碼為:D7H

關(guān)閉窗口

相關(guān)文章