1.支持任意數(shù)組串的CRC16碼生成;
只要您對Modbus通訊協(xié)議的數(shù)據(jù)格式有所了解,就能用該款軟件生成任意的帶CRC16碼的十六制字串。所生成的CRC16碼與Modbus Pull軟件生成的是一至的。
2.支持實時調(diào)試;
數(shù)據(jù)組生成后,可以實時的通過串口進行發(fā)送對您所設計的硬件進行調(diào)試,無需再開其他的串口調(diào)試
幫助說明
1.1. 在"目標字串"框內(nèi)填寫您要計算CRC16碼的字串,當光標離開該框時程序即計算相應的CRC16碼并自 動填寫到"計算結(jié)果"框內(nèi);
1.2. 當通過手動或自動發(fā)送時,將根據(jù)設置把"計算結(jié)果"框內(nèi)的字串以16進制的形式通過串口進行發(fā)送;
1.3. "發(fā)送間隔時間"是以ms為單位,這個參數(shù)只對自動發(fā)送有效;
1.4. "預接收字節(jié)數(shù)"是指您發(fā)送生成指令后,下位機應該返回的字節(jié)數(shù),當這個數(shù)字填寫成0時,程序?qū)⒏鶕?jù)功能號自動計算返回的字節(jié)數(shù);
算法描述
2.1.置16位寄存器為全1,作為CRC寄存器。
2.2.把一個8位數(shù)據(jù)與16位CRC寄存器的低字節(jié)相異或,把結(jié)果放于CRC寄存器中。
2.3.把寄存器的內(nèi)容右移一位(朝低位),用0填補最高位,檢查最低位(移出位)。
2.4.如果最低位為0,重復2.3(再移位);如果最低位為1,CRC寄存器與多項式A001H(1010 0000 0000 0001)進行異或。
2.5.重復2.3、2.4,直到右移8次,這樣整個8位數(shù)據(jù)全部進行了處理。
2.6.重復2.2-2.5,進行下一個8位數(shù)據(jù)的處理。
2.7.將一幀的所有數(shù)據(jù)字節(jié)處理完后得到CRC-16寄存器。
2.8.將CRC-16寄存器的低字節(jié)和高字節(jié)交換,得到的值即為CRC-16碼。




















您的評論需要經(jīng)過審核才能顯示
有用
有用
有用