2540主机如何得到从机广播的数据
请问一下2540作为从机在广播数据的时候,作为主机是从什么地方获取到从机广播的数据的呢?
typedef struct
{
osal_event_hdr_t hdr; //!< GAP_MSG_EVENT and status
uint8 opcode; //!< GAP_DEVICE_INFO_EVENT
uint8 eventType; //!< Advertisement Type: @ref GAP_ADVERTISEMENT_TYPE_DEFINES
uint8 addrType; //!< address type: @ref GAP_ADDR_TYPE_DEFINES
uint8 addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP
int8 rssi; //!< Advertisement or SCAN_RSP RSSI
uint8 dataLen; //!< Length (in bytes) of the data field (evtData)
uint8 *pEvtData; //!< Data field of advertisement or SCAN_RSP
} gapDeviceInfoEvent_t;
是*pEvtData这个吗? 但是如何区分advertisement和SCAN_RSP呢?
我用仿真器得到的pEvent在xdata的地址里面没有看到advertisement的数据
请教一下大牛,是不是我的理解有误,那如何从主机获取这些值呢? 多谢
fuqiang,
你的理解是正确的。
可以通过eventType这个值区分是scan response还是adv ind.
多谢指导,还有一个问题想请教一下,如果我连接几个从机后,我想分别得到他们的advert广播信息的话,都是从同一个pEvent得到吗? 因为我发现如果我连接2个从机的时候pEvent->deviceInfo.pEvtData地址里面只有其中1个的,图片是我调试的结果,右上角的pEvtData的地址是0x1CE1,下面的地址里面从0x1CE1开始只有congji2的信息,congji1的数据在前面,如何都能获得呢? 多谢