摘要
本文從理論上推導(dǎo)出CRC 算法實(shí)現(xiàn)原理,給出三種分別適應(yīng)不同計(jì)算機(jī)或微控制器硬件環(huán)境的C 語言程序。讀者更能根據(jù)本算法原理,用不同的語言編寫出獨(dú)特風(fēng)格
更加實(shí)用的CRC 計(jì)算程序。
關(guān)鍵詞 CRC 算法C 語言
1 引言
循環(huán)冗余碼CRC 檢驗(yàn)技術(shù)廣泛應(yīng)用于測控及通信領(lǐng)域。CRC 計(jì)算可以靠專用的硬件來實(shí)現(xiàn),但是對于低成本的微控制器系統(tǒng),在沒有硬件支持下實(shí)現(xiàn)CRC 檢驗(yàn),關(guān)鍵的問題就是如何通過軟件來完成CRC 計(jì)算,也就是CRC 算法的問題。
這里將提供三種算法,它們稍有不同,一種適用于程序空間十分苛刻但CRC 計(jì)算速度要求不高的微控制器系統(tǒng),另一種適用于程序空間較大且CRC 計(jì)算速度要求較高的計(jì)算機(jī)或微控制器系統(tǒng),最后一種是適用于程序空間不太大,且CRC 計(jì)算速度又不可以太慢的微控制器系統(tǒng)。
(轉(zhuǎn)載)