用579 里例子Observer 的問題

作為觀察者為何只能上電接一次數(shù)據(jù) 就是只有初始化后進入 case GAP_DEVICE_INIT_DONE_EVENT;然后一直循環(huán)

GAP_DEVICE_DISCOVERY_EVENT里的打印"Discovering, 想知道滿足什么條件才能循環(huán)進入?GAP_DEVICE_INFO_EVENT接受到廣播者發(fā)送的數(shù)據(jù)呢?GAPRole_ObserverStartDiscovery這個函數(shù)的原型在哪里找到?

static void ObserverEventCB( gapRoleEvent_t *pEven"?)

{

? switch ( pEvent->gap.opcode )

? {

? ? case GAP_DEVICE_INIT_DONE_EVENT:??

? ? ? {

? ? ? ? GAPRole_ObserverStartDiscovery( DEFAULT_DISCOVERY_MODE,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DEFAULT_DISCOVERY_ACTIVE_SCAN,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DEFAULT_DISCOVERY_WHITE_LIST );?

? ? ? ? PRINT ( "Discovering...\n");? ? ? ??

? ? ? }

? ? ? break;


? ? case GAP_DEVICE_INFO_EVENT:

? ? ? {

? ? ? ? ObserverAddDeviceInfo( pEvent->deviceInfo.addr, pEvent->deviceInfo.addrType );

? ? ? }

? ? ? break;

? ? ??

? ? case GAP_DEVICE_DISCOVERY_EVENT:

? ? ? {


先看上一個case語句

GAPRole_ObserverStartDiscovery(DEFAULT_DISCOVERY_MODE,
DEFAULT_DISCOVERY_ACTIVE_SCAN,
DEFAULT_DISCOVERY_WHITE_LIST); 我們可以看到可以看到本函數(shù)的定義

extern bStatus_t GAPRole_ObserverStartDiscovery( uint8_t mode, uint8_t activeScan, uint8_t whiteList );

uint8_t mode:發(fā)現(xiàn)模式? ?uint8_t activeScan:如果為TRUE執(zhí)行主動掃描? ??uint8_t whiteList:僅掃描白名單中的設(shè)備

進入GAP_DEVICE_INFO_EVENT是和前一個case有關(guān)的,開啟掃描就會進入。進入循環(huán)的話需要進行GAPRole_ObserverStartDiscovery掃描,再進入GAP_DEVICE_INFO_EVENT之后再進入GAP_DEVICE_DISCOVERY_EVENT處理掃描到的數(shù)據(jù),最后再到GAPRole_ObserverStartDiscovery開啟掃描進入循環(huán)。

這有一篇關(guān)于discover的博客可以參考一下:

CH58X/CH57X/V208 Observer(觀察者)例程討論講解 - 小舟從此逝_1 - 博客園 (cnblogs.com)



謝謝了 請問在哪能找到廣播者(不連接)和觀察者收發(fā)數(shù)據(jù)的例子 ,官方的好像沒有數(shù)組 我在做個項目打算采集多點的電壓


我們的例程里面是有廣播者的例程的。

這里有一篇關(guān)于廣播者的博客可以參考一下CH58X/CH57X/V208的Broadcaster(廣播者)例程講解 - 小舟從此逝_1 - 博客園 (cnblogs.com)

image.png


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

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