peripheral设备如何获取centerl设备的PublicAddr
我调试时候发现GAP_LINK_ESTABLISHED_EVENT消息处理中
gapEstLinkReqEvent_t *pPkt = (gapEstLinkReqEvent_t *)pMsg;
if ( pPkt->hdr.status == SUCCESS )
{
VOID osal_memcpy( gapRole_ConnectedDevAddr, pPkt->devAddr, B_ADDR_LEN );
此处pPkt->devAddr并非central设备的PublicAddr?
那么如何获取主设备的PublicAddr呢?
Derek,
这还得取决于central 设备。
如果central设备本身用的是public 地址的话,那么你得到的肯定就是public 地址。如果用的是random 的话,那么你每次得到都会不一样。
比如说iOS 设备,用的就是random地址。你可以试一下Android 设备。
Yan,您好
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/52633/143115.aspx#143115
上面这个帖子跟我的问题一样,我也是想用WhiteList功能,有什么办法让iOS使用自己的PublicAddr作为initAddr么?
Derek,
iOS 无法用public地址作为initAddr.这是由iOS 决定的。貌似苹果也没有公开出来API 能修改这个。
所以,white list 对iOS 设备无法起作用,没有办法。
peripheral centerl PublicAddr 相关文章:
- 蓝牙从机事件处理函数 SimpleBLEPeripheral_ProcessEvent的疑问
- 我的cc2540 用simpleBLEperipheral 刷完之后怎么只有 generic access service 这一个,没有其它的服务呢?
- Role Profile可以有一个共存模式,可以同时作为peripheral和broadcaster?
- 请问一下ANCS通知的时候,cc2540是central模式吗?还是peripheral模式,只不过GATT上Client模式?
- 求助:Observe如何获取Peripheral广播中的数据?
- 请问CC2540作为Central时最多能连接多少个Peripheral?