愛伊米

WPF下藍芽收發資料相關的校驗:CRC校驗和異或校驗原始碼詳解

資料傳輸中為何要進行校驗?

在藍芽傳輸資料當中,很多時候,會出現丟幀或者資料丟失的現象,為解決這個現象,我們常常人為進行資料的校驗,那麼常見的資料校驗有哪些?資料校驗的原理是什麼呢?

異或校驗原理

異或校驗是常說的查詢二進位制資料中的零的個數進行的校驗,這個是最簡單的校驗,也是最粗糙的校驗,其校驗率相對來說也不高。

WPF下藍芽收發資料相關的校驗:CRC校驗和異或校驗原始碼詳解

當然使用起來也是比較簡單的,我們可以在接收資料中實時進行校驗,收到指定資料包長度就進行異或運算。其簡單核心程式碼如下:

if (rec_dataCount

{

checkedBit ^= buf[i];

}