RTU 檢查碼(CRC)計算, 運算規則如下:
- 步驟1: 令 16-bit 暫存器 (CRC 暫存器) = 0xFFFF。
- 步驟2: Exclusive OR 第一個 8-bit byte 的訊息指令與低位元 16-bit CRC 暫存器, 做 Exclusive OR 將結果存入 CRC 暫存器內。
- 步驟3: 右移一位 CRC 暫存器, 將 0 填入高位元處。
- 步驟4: 檢查右移的值, 如果是 0 將步驟3 的新值存入 CRC 暫存器內, 否則 Exclusive OR 0xA001 與 CRC 暫存器, 將結果存入 CRC 暫存器內。
- 步驟5: 重複步驟3~步驟4, 將 8-bit 全部運算完成。
- 步驟6: 重複步驟2~步驟5, 取下一個 8-bit 的訊息指令, 直到所有訊息指令運算完成。最後, 得到的 CRC 暫存器的值, 即是 CRC 的檢查碼。值得注意的是 CRC 的檢查碼必須交換放置於訊息指令的檢查碼中。
|