H7FFF換成二進(jìn)制數(shù)為111111111111111,15位填滿(mǎn);也就是最左位,填入0;
RTU 模式:
RTU 模式採(cǎi)用CRC (Cyclical Redundancy Check)偵誤值,CRC 偵誤值以下列步驟計(jì)算:
步驟 1:載入一個(gè)內(nèi)容為FFFFH 之16-bit 寄存器 (稱(chēng)為CRC 寄存器)。
步驟 2:將命令信息第一個(gè)字節(jié)與16-bit CRC 寄存器的低次字節(jié)進(jìn)行Exclusive OR 運(yùn)算,並
將結(jié)果存回CRC 寄存器。
步驟 3:將CRC 寄存器之內(nèi)容向右移1 bit,最左bit 填入0,檢查CRC 寄存器最低位的值。
步驟 4:若CRC 寄存器的最低位為0,則重復(fù)步驟 3;否則將CRC 寄存器與A001H 進(jìn)行
Exclusive OR 運(yùn)算。
步驟 5:重復(fù)步驟 3 及步驟 4,直到CRC 寄存器之內(nèi)容已被右移了8 bits。此時(shí),該字節(jié)已
完成處理。
步驟 6:對(duì)命令信息下一個(gè)字節(jié)重復(fù)重復(fù)步驟2 至步驟5,直到所有字節(jié)皆完成處理,CRC 寄
存器的最后內(nèi)容即是CRC 值。當(dāng)在命令信息中傳遞 CRC 值時(shí),低字節(jié)須與高字節(jié)交
換順序,亦即,低字節(jié)將先被傳送。
[ 此帖被anlyl2014在2019-04-22 14:40重新編輯 ]