Firefly开源社区

打印 上一主题 下一主题

client 主机 广播包 扫描响应包 处理 ???

400

积分

0

威望

0

贡献

注册会员

Rank: 8Rank: 8

积分
400
QQ
发表于 2016-1-6 15:03:34      楼主
在进行广播扫描之后,会得到响应消息:GAP_DEV_INQ_RESULT_EVT
其中,响应消息对应的函数为
  1. int app_gap_dev_inq_result_handler(ke_msg_id_t const msgid,
  2.                                    struct gap_dev_inq_result_evt const *param,
  3.                                    ke_task_id_t const dest_id,
  4.                                    ke_task_id_t const src_id)
复制代码

可以看到在扫描响应后所带的param类型是 struct gap_dev_inq_result_evt
那么继续跟踪
  1. /// Device discovery event result
  2. struct gap_dev_inq_result_evt
  3. {
  4.     ///Number of responses
  5.     uint8_t nb_resp;
  6.     /// advertising report
  7.     struct adv_report adv_rep;
  8. };
复制代码

继续深入
  1. ///Advertising report structure
  2. struct adv_report
  3. {
  4.     ///Event type: Ref bluetooth core spec 4.0 Volume 6 Part B Chapter 2.3 Table 2.1
  5.     uint8_t        evt_type;
  6.     ///Advertising address type: public/random
  7.     uint8_t        adv_addr_type;
  8.     ///Advertising address value
  9.     struct bd_addr adv_addr;
  10.     ///Data length in advertising packet
  11.     uint8_t        data_len;
  12.     ///Data of advertising packet
  13.     uint8_t        data[ADV_DATA_LEN];
  14.     ///RSSI value for advertising packet
  15.     int8_t        rssi;
  16. };
复制代码

我想走到这一步你应该已经找到你想要的广播信息了
没个性,不签名!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表