Firefly开源社区

打印 上一主题 下一主题

广播数据

151

积分

0

威望

0

贡献

技术小白

积分
151
发表于 2015-5-21 11:13:06      楼主
2楼说得基本对,在广播数据添加,但是格式上有要求,具体得看蓝牙spec v4.0
贴上我的一段代码,应该能帮上
  1.                 app_env.adv_data[len+0] = 0x07;
  2.                 app_env.adv_data[len+1] = 0xFF;               
  3.                 get_mac_addr(&app_env.adv_data[len+2]);
  4.                
  5.                 len += 8;
复制代码
回复

使用道具 举报

151

积分

0

威望

0

贡献

技术小白

积分
151
发表于 2015-5-22 09:31:38      沙发
是的,具体实现如下:
  1. void get_mac_addr(uint8_t *p_mac_addr)
  2. {       
  3.         uint8_t mac_addr[6];
  4.         nvds_tag_len_t add_lenth = 6;
  5.         if (NVDS_OK != nvds_get(NVDS_TAG_BD_ADDRESS, &add_lenth, mac_addr))
  6.         {
  7.                  // NVDS is empty, use default name
  8.                                 p_mac_addr[0] = 0x08;
  9.                                 p_mac_addr[1] = 0x7C;
  10.                                 p_mac_addr[2] = 0xBE;
  11.                                 p_mac_addr[3] = 0x00;
  12.                                 p_mac_addr[4] = 0x00;
  13.                                 p_mac_addr[5] = 0x00;
  14.         }
  15.         else
  16.         {
  17.                 for ( uint8_t i = 6; i >0;)
  18.                 {       
  19.                         i--;
  20.                         p_mac_addr[5-i]= mac_addr[i];
  21.                 }
  22.         }
  23. }
复制代码
回复

使用道具 举报

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

本版积分规则

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