/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
你還在為如何編輯的計算CRC16校驗碼而煩惱麼, 那就趕緊讓CRC16校驗碼計算器來幫幫你吧! 它是一款非常實用的計算CRC16校驗碼工具, 能夠幫助便捷快速的計算CRC16校驗碼, 並且操作簡單, 使用方便, 對CRC16校驗碼計算器感興趣的朋友歡迎下載使用!
本modbus CRC16校驗碼計算器幹什麼用?
CRC16校驗碼是數據通信行業中最常用的一種差錯校驗碼,其特征是信息字段與校驗字段的長度可以任何選擇。
上位機須根據MODBUS協議的命令格式發送數據(包含計算的CRC值),從機才可以正確辨識數據。若無CRC值,從機把返回含有錯誤號的應答包,不會得到正確結果。
CRC-16碼由兩個字節構成,在開始時CRC寄存器的每一位都預置為1,而後把CRC寄存器與8-bit的數據進行異或(異或:二進製運算 相同為0,不同為1;0^0=0;0^1=1;1^0=1;1^1=0),之後對CRC寄存器從高到低進行移位,在最高位(MSB)的位置補零,而最低位(LSB,移位後已經被移出CRC寄存器)如果為1,則把寄存器與預定義的多項式碼進行異或,不然如果LSB為零,則不需要進行異或。重複上述的由高至低的移位8次,第一個8-bit數據處理完畢,用這個時候CRC寄存器的值與下一個8-bit數據異或並進行如前一個數據似的8次移位。所有的字符處理完成後CRC寄存器內的值即為最後的CRC值。
而本CRC16校驗碼計算器的主要功能就是來精準計算CRC16校驗碼的。
預置1個16位的寄存器為十六進製FFFF(即全為1),稱此寄存器為CRC寄存器。
把第一個8位二進製數據(既通訊信息幀的第一個字節)與16位的CRC寄存器的低8位相異或,把結果放於CRC寄存器,高八位數據不變。
把CRC寄存器的內容右移一位(朝低位)用0填補最高位,並檢測右移後的移出位。
如果移出位為0:重複第三步(再次右移一位);如果移出位為1,CRC寄存器與多項式A001(1010 0000 0000 0001)進行異或。
重複步驟3與4,直到右移8次,這樣整個8位數據全部進行了處理。
重複步驟2到步驟5,進行通訊信息幀下一個字節的處理。
把該通訊信息幀所有字節按上述步驟計算完成後,得到的16位CRC寄存器的高、低字節進行交換。
最後得到的CRC寄存器內容即為:CRC碼。