針對兩個lora模組之間的資料完整性校驗,不包含級聯情況:
訊息頭同步:
12個位元組
訊息頭標識+該包資料總長度+該資料報的crc16+本資料的crc
| 0x5a5a5a5a |len|crc16|crc16|
原理:傳送端首先傳送第一包資料訊息頭,接收端根據收到的訊息頭,獲取資料報長度,然後接收對應長度的資料報,如果存在一包訊息頭不對,則請求傳送端,重新同步訊息頭。
2 .資料報切片傳送
按照8位元組乙個傳送包切片,
pkts = len/8;
reminder = len%8;
while(1
)else
times ++
;msleep
(500);
}if(reminder >0)
else
}}
傳送端流程:
3.資料報接收組包
接收訊息頭:
len =
read
(g_lora_uart_fd,
&(hp.cmd),12
);log_debug_bin
((uint8 *)&
(hp.cmd)
, len,64,
"lora recved pkt:");
log_debug
("recv cmd=%x len = %d\n"
,hp.cmd,len)
;
校驗資料長度是否是12位元組 頭+len+crc +crc
迴圈接收資料
while(1
)
4.crc+len校驗
5.請求同步訊息頭
while(1
)msleep
(200);
}
接收端流程:
資料完整性校驗 釋疑
完整性 雜湊校驗 雜湊是一種不可逆的對映,可以將資料經過雜湊演算法計算得到乙個雜湊值,而無法再將該雜湊值反映射得到原始的資料。一般來說,不同的資料得到的雜湊值是不同的,但也有極少的可能會出現碰撞,但這種概率極小。在網路資料完整性校驗中使用的雜湊演算法通常包括 md5 sha。資料完整性校驗 資料完整...
檔案完整性校驗
什麼是 完整性校驗 所謂的 完整性校驗 顧名思義,就是檢查檔案是否完整。那麼,什麼情況下會導致檔案不完整捏?大概有如下幾種情況。1.感染病毒 比方說你的系統中了病毒,病毒感染了某個軟體安裝包或者某個可執行程式。那麼該檔案的完整性就被破壞了。雜湊演算法 雜湊演算法 掃盲 什麼是 雜湊演算法 雜湊演算法...
檔案完整性校驗
什麼是 完整性校驗 所謂的 完整性校驗 顧名思義,就是檢查檔案是否完整。那麼,什麼情況下會導致檔案不完整捏?大概有如下幾種情況。1.感染病毒 比方說你的系統中了病毒,病毒感染了某個軟體安裝包或者某個可執行程式。那麼該檔案的完整性就被破壞了。雜湊演算法 雜湊演算法 掃盲 什麼是 雜湊演算法 雜湊演算法...