CH573F 定向廣播功能

基于官方的CentPeri例程

目前調(diào)試發(fā)現(xiàn)配對好且綁定的主從機,當從機上電一段時間后,主機再上電,發(fā)現(xiàn)無法搜索到定向廣播信息,而主機先上電,從機后上電,能夠立即發(fā)現(xiàn)并建立連接

想請問下,主從首次連接且綁定后,從機再次上電并設置為定向廣播,是不是需要在限定的時間內(nèi)讓主機去掃描并連接?超時后從機不再發(fā)送定向廣播?

如果是有時間限制的,那么可以從哪里設置超時時間?或者定時啟動定向廣播?

或者說有沒有關于定向廣播的官方的例程可以參考?

https://www.cnblogs.com/gscw/p/17289302.html

參考該博客。

定向廣播持續(xù)1.28s后,會進入timeout 即打印waiting for advertising的地方,在這里重新廣播使能就可以了,這樣會一直進行定向廣播。


https://www.cnblogs.com/gscw/p/17289302.html

參考該博客。

定向廣播持續(xù)1.28s后,會進入timeout 即打印waiting for advertising的地方,在這里重新廣播使能就可以了,這樣會一直進行定向廣播。


謝謝,之前調(diào)試一直沒有沒有收到waiting for advertising

僅僅是收到以下信息

Initialized..

Advertising..

經(jīng)追蹤是【peripheralStateNotificationCB】回調(diào)函數(shù)內(nèi)有“waiting for advertising”但并沒有打印

????????case?GAPROLE_WAITING:
????????????PRINT("go?in?Waiting?for?%d\n",pEvent->gap.opcode);
????????????if(pEvent->gap.opcode?==?GAP_END_DISCOVERABLE_DONE_EVENT)
????????????{
????????????????PRINT("Waiting?for?advertising..\n");
????????????}
????????????else?if(pEvent->gap.opcode?==?GAP_LINK_TERMINATED_EVENT)
????????????{
????????????????Peripheral_LinkTerminated(pEvent);
????????????????PRINT("Disconnected..Reason:%x\n",?pEvent->linkTerminate.reason);
????????????}
????????????break;

嘗試打印【gap.opcode】,發(fā)現(xiàn)在廣播結(jié)束后,該值為5,如下圖

image.png

對應宏定義:

#define?GAP_LINK_ESTABLISHED_EVENT??????????????0x05?//!<?Sent?when?the?Establish?Link?Request?is?complete.?This?event?is?sent?as?an?tmos?message?defined?as?gapEstLinkReqEvent_t.

英文翻譯為【當建立鏈接請求完成時發(fā)送】,但這時候從機僅僅是執(zhí)行了定向廣播,并在超時后關閉廣播,并沒有連接,這是我的定向廣播設置有問題還是demo有錯誤



從機初始化定向廣播設置如下

????//?Setup?the?GAP?Peripheral?Role?Profile
????{
????????//常規(guī)廣播,這部分是demo的
????????uint8_t??initial_advertising_enable?=?TRUE;
????????uint16_t?desired_min_interval?=?DEFAULT_DESIRED_MIN_CONN_INTERVAL;
????????uint16_t?desired_max_interval?=?DEFAULT_DESIRED_MAX_CONN_INTERVAL;

????????PRINT("ADV\n");
????????//?Set?the?GAP?Role?Parameters
????????GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED,?sizeof(uint8_t),?&initial_advertising_enable);?????//開啟/關閉廣播
????????GAPRole_SetParameter(GAPROLE_SCAN_RSP_DATA,?sizeof(scanRspData),?scanRspData);??????????????????//中心設備嘗試連接時的回應數(shù)據(jù)包
????????GAPRole_SetParameter(GAPROLE_ADVERT_DATA,?sizeof(advertData),?advertData);??????????????????????//廣播時發(fā)送的數(shù)據(jù)包
????????GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL,?sizeof(uint16_t),?&desired_min_interval);???????//最小連接間隔
????????GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL,?sizeof(uint16_t),?&desired_max_interval);???????//最大連接間隔

????????//定向廣播,這部分是新增的,【MSGbyte_BLE_Bond】是自行添加的,用于綁定后重新上電的判斷
????????uint8_t?Adv_Event_Type?=?GAP_ADTYPE_ADV_HDC_DIRECT_IND;
????????uint8_t?Adv_Direct_Type?=?ADDRTYPE_PUBLIC;
????????
????????if(messageGetByte(MSGbyte_BLE_Bond)?==?MSG_BLE_BONDED){
????????????PRINT("DIR\n");
????????????GAPRole_SetParameter(?GAPROLE_ADV_DIRECT_ADDR,?B_ADDR_LEN,?bondInfo.publicAddr);????????????????//定向廣播的地址
????????????GAPRole_SetParameter(?GAPROLE_ADV_DIRECT_TYPE,?sizeof(uint8_t),?&Adv_Direct_Type);??????????????//定向廣播的地址類型
????????????GAPRole_SetParameter(?GAPROLE_ADV_EVENT_TYPE,?sizeof(uint8_t),?&Adv_Event_Type);????????????????//事件類型
????????}
????}



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

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