當前位置:編程學習大全網 - 編程軟體 - 如何修改mtk的ble廣播包

如何修改mtk的ble廣播包

**協議棧版本:1.3.2

**demo:SimpleBLEPeripheral

壹***修改了兩個地方,第壹個是動態修改廣播數據,需要調用GAP_UpdateAdvertisingData。另外壹個是在按鍵中添加了修改advertData,詳情如下:

1、peripheral.c,GAPRole_SetParameter函數GAPROLE_ADVERT_DATA部分

if ( len <= B_MAX_ADV_LEN )

{

VOID osal_memset( gapRole_AdvertData, 0, B_MAX_ADV_LEN );

VOID osal_memcpy( gapRole_AdvertData, pValue, len );

gapRole_AdvertDataLen = len;

GAP_UpdateAdvertisingData( gapRole_TaskID,TRUE, gapRole_AdvertDataLen, gapRole_AdvertData );

}

2、simpleBLEPeripheral.c文件中key處理片段(廣播數據我有重新定義過)

advertData[5]=count;

advertData[6]=count;

advertData[7]=count;

GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );

測試現象:

程序上電運行後,正常啟動和廣播,LCD上顯示正在廣播,Packetsniffer抓包,廣播內容為原數據。

然後觸發按鍵,動態修改advertData 後,出現GAPROLE_ERROR錯誤,LCD上打印ERROR,但是此錯誤並未影響其他行為,Packetsniffer抓包看,廣播數據已經被成功修改,另外該SimpleBLEPeripheral任然可以被正常的連接、通信,只是每次修改廣播內容後,均會出現GAPROLE_ERROR錯誤。

  • 上一篇:濟南十大教育培訓機構
  • 下一篇:抗戰勝利花怎麽制作
  • copyright 2024編程學習大全網