CH582M從機連接參數(shù)更新失敗和發(fā)現(xiàn)服務(wù)時間較長

我要把579M芯片換成582M

手機連接579的時候如圖,2次更新參數(shù)都成功,從連接到發(fā)現(xiàn)服務(wù)用了大概900ms

微信圖片_20211119180423.jpg


用手機連接582的時候,更新連接參數(shù)失敗,且發(fā)現(xiàn)服務(wù)時間大概在2300ms左右

微信圖片_20211119190012.jpg

用的工程是peripheral,用默認(rèn)的參數(shù)2次更新都失敗,

不知是不是主設(shè)備發(fā)送參數(shù)更新失敗導(dǎo)致發(fā)現(xiàn)服務(wù)時間比較長,如何更快的發(fā)現(xiàn)服務(wù)?

這個發(fā)現(xiàn)速度慢的根本原因,是整個發(fā)現(xiàn)過程中的連接間隔比較長,

上面的錯誤是連接間隔更改失敗, 根本原因是 代碼在初始化時候給連接間隔限制了一個較小的范圍,,

實際上你可以修改為更大的范圍,如(代碼來自 CH583EVT_v1.1\EVT\EXAM\BLE\BLE_UART? ):

void?Peripheral_Init(?)
{
??Peripheral_TaskID?=?TMOS_ProcessEventRegister(?Peripheral_ProcessEvent?);
??
??//?Setup?the?GAP?Peripheral?Role?Profile
??{
????uint8?initial_advertising_enable?=?TRUE;
????uint16?desired_min_interval?=?6;
????uint16?desired_max_interval?=?1000;
????
????//?Set?the?GAP?Role?Parameters
????GAPRole_SetParameter(?GAPROLE_ADVERT_ENABLED,?sizeof(?uint8?),?&initial_advertising_enable?);
????GAPRole_SetParameter(?GAPROLE_SCAN_RSP_DATA,?sizeof?(?scanRspData?),?scanRspData?);
????GAPRole_SetParameter(?GAPROLE_ADVERT_DATA,?sizeof(?advertData?),?advertData?);
????GAPRole_SetParameter(?GAPROLE_MIN_CONN_INTERVAL,?sizeof(?uint16?),?&desired_min_interval?);
????GAPRole_SetParameter(?GAPROLE_MAX_CONN_INTERVAL,?sizeof(?uint16?),?&desired_max_interval?);
??}

后面從機可以根據(jù)實際的應(yīng)用需求,再去請求主機更新需要的連接參數(shù)

??if?(?events?&?SBP_PARAM_UPDATE_EVT?)
??{
????//?Send?connect?param?update?request
????GAPRole_PeripheralConnParamUpdateReq(?peripheralConnList.connHandle,
??????????????????????????????????????????DEFAULT_DESIRED_MIN_CONN_INTERVAL,
??????????????????????????????????????????DEFAULT_DESIRED_MAX_CONN_INTERVAL,
??????????????????????????????????????????DEFAULT_DESIRED_SLAVE_LATENCY,
??????????????????????????????????????????DEFAULT_DESIRED_CONN_TIMEOUT,
??????????????????????????????????????????Peripheral_TaskID);


//????????GAPRole_PeripheralConnParamUpdateReq(?peripheralConnList.connHandle,
//??????????????????????????????????????????????10,
//??????????????????????????????????????????????20,
//??????????????????????????????????????????????0,
//??????????????????????????????????????????????400,
//??????????????????????????????????????????????Peripheral_TaskID);



我用的是CH582M官方開發(fā)板,用BLE_UART工程,依然會出現(xiàn)更新參數(shù)失敗。我也嘗試了更大范圍,還是更新參數(shù)失敗,難道是手機工具不對嗎?


如果是安卓手機的話,可以到應(yīng)用市場搜索 BLE調(diào)試助手,這個app是我們公司自己做的app。


BLE調(diào)試助手日志沒有顯示更新參數(shù)的情況,我用的是nRF Connect

nRF Connect

https://github.com/NordicSemiconductor/Android-nRF-Connect

請確認(rèn)一下CH582第一次手機發(fā)起更新參數(shù)失敗的原因。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频