我在使用rf例程接收數(shù)據(jù)的時候經(jīng)常遇到crc錯誤,是有的地方配置的有問題還是有干擾信號?
目前遇到一樣的問題
CRC error 通常是受到環(huán)境因素影響, 比如數(shù)據(jù)傳輸過程中,受到了干擾,導(dǎo)致某一bit 發(fā)生了錯誤即會引發(fā)CRC 出錯.
由于無線傳輸?shù)牟豢煽啃?通常加入一些數(shù)據(jù)校驗(yàn)機(jī)制, CRC 校驗(yàn)是比較常見的一種機(jī)制.
自定義協(xié)議的話,通常需要根據(jù)實(shí)際的需求,來做數(shù)據(jù)冗余, 或者重傳機(jī)制.
@TECH46您好,使用CH579EVT\EVT\EXAM\BLE\RF_PHY例程,修改rfConfig.LLEMode = LLE_MODE_BASIC,
#define HAL_SLEEP? ? ? ? ? ? ? ? ? ? ?TRUE?開啟睡眠功能
a設(shè)備使用TMOS定時15s喚醒,RF_Tx()發(fā)送數(shù)據(jù),發(fā)送完成后轉(zhuǎn)RX-MODE,接收到數(shù)據(jù)后等待下一個喚醒周期再次發(fā)送數(shù)據(jù)。
b設(shè)備使用TMOS從睡眠喚醒等待接收,接收到A設(shè)備數(shù)據(jù)后立即轉(zhuǎn)TX-MODE發(fā)送數(shù)據(jù)給A設(shè)備,完成后休眠。
A、B設(shè)備喚醒時間同步。
測試半小時左右出現(xiàn)?CRC error,出錯后B設(shè)備再也收不到A設(shè)備發(fā)過來的數(shù)據(jù),是什么原因呢?
A設(shè)備是不是需要從睡眠喚醒需要等待晶振穩(wěn)定后再發(fā)送數(shù)據(jù)?