TI中文支持网
TI专业的中文技术问题搜集分享网站

如何把Peripheral回应状态改成回应事件?

想同时实现Peripheral和Central,但peripheral callback的是状态,central callback的是事件,看了一下peripheral.c,里面GAP ROLE的状态判定比事件要细。

而在peripheral.c里面,涉及到GAP ROLE状态的事件有

GAP_DEVICE_INIT_DONE_EVENT,GAP_ADV_DATA_UPDATE_DONE_EVENT,GAP_MAKE_DISCOVERABLE_DONE_EVENT,
GAP_END_DISCOVERABLE_DONE_EVENT,GAP_LINK_ESTABLISHED_EVENT,GAP_LINK_TERMINATED_EVENT 共6个事件。

那么是不是意味我在应用的处理角色事件的函数里面也要涉及这6个事件?

如果Peripheral进入相应的事件,是不是证明GAP ROLE已经进入相应的状态,比如进入GAP_LINK_ESTABLISHED_EVENT事件就说明进入了GAPROLE_CONNECTED的状态?还是我依然要在事件里面做进一步判断?

我有试过全部添加6个事件,事件里面内容只有LED闪烁,但.在处理角色事件时只进入GAP_ADV_DATA_UPDATE_DONE_EVENT,而且用手机BLE DeviceMonitor也搜不到信号,不太明白具体怎么回事?求大神指点,感谢。

Yan:

Even,

是的,如果进入GAP_LINK_ESTABLISHED_EVENT,那么相应的gaprole的状态就会被设置成GAPROLE_CONNECTED。

只有GAP_ADV_DATA_UPDATE_DONE_EVENT且搜索不到设备,那是因为你的设备还没进入广播状态。

在init函数里面,确认一下  uint8_t initialAdvertEnable = TRUE; 是否有。

赞(0)
未经允许不得转载:TI中文支持网 » 如何把Peripheral回应状态改成回应事件?
分享到: 更多 (0)