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