【藍牙BLE】cc2540主機獲取廣播包存在的一些問題。

cc2540主機獲取廣播包的具體實現過程請參考另一篇博文《cc2540主機獲取廣播數據》,該博文轉載自大香瓜的博

客。我自己燒到板子後發現存在一些問題,可能是還沒達到香瓜的大神境界,那麼我就從小菜鳥的角度說一下我遇到

的這個問題和解決辦法吧。在主機獲取廣播數據過程中,香瓜主要是用到兩個函數,Get_Adtype_Data和Hex_To_Str.

我順着博文做下去之後發現Hex_To_Str這個函數並不能輸出我想要的數據。以下是我寫的代碼,想讓該值顯示在屏幕上,

HalLcdWriteStringValue( "data:",(uint16)(Hex_To_Str(pEvent->deviceInfo.pEvtData + adTypeData_index)),10,HAL_LCD_LINE_5);

結果無論我怎麼修改偏移值adTypeData_index,在屏幕上顯示的總是這幾個奇怪的數字3957

我昨天還多次修改了廣播數據中的數據模式值,然並卵。找了一大堆相關的資料來看,還是找不到解決方案。

今天早上我偶然在《藍牙4.0BLE開發完全手冊》看到可以直接獲取廣播數據時,就果斷放棄了Hex_To_Str函數。這

樣反而簡單些。


只要我設定好想要值的位置,就能獲取該值。燒在板子上,也能成功實現了。當然,香瓜哥自己寫的博文他親測是絕

對可靠的,只是我實際應用的時候需要根據我自己的情況做出適當的修改。在這裏也非常感謝香瓜哥給予的耐心解

答。具有開源精神的大神啊。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章