设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4001|回复: 3
打印 上一主题 下一主题

nrf51822广播数据

[复制链接]

4

主题

17

帖子

75

积分

注册会员

Rank: 2

积分
75
跳转到指定楼层
楼主
lqab1983 发表于 2016-7-25 16:48:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您好,我是先接触的CC2541再转到的nrf51822.有关广播数据内容我想请教下?
在CC2541里,广播数据在数组里定义,比较直观
static uint8 advertData[] =
{
  0x02,   // length of this data
  GAP_ADTYPE_FLAGS,
  DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,

  // service UUID, to notify central devices what services are included
  // in this peripheral
  0x0c,   // length of this data
  //GAP_ADTYPE_16BIT_MORE,      // some of the UUID's, but not all
  //LO_UINT16( SIMPLEPROFILE_SERV_UUID ),
  //HI_UINT16( SIMPLEPROFILE_SERV_UUID ),
  0x09,
  0x4d,
  0x54,
  0x4b,
  0x42,
  0x54,
  0x44,
  0x45,
  0x56,
  0x49,
  0x43,
  0x45,
};

但是在Nrf51822l里的static void advertising_init(void)
{
    uint32_t      err_code;
    ble_advdata_t advdata;
    uint8_t       flags = BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE;

    // YOUR_JOB: Use UUIDs for service(s) used in your application.
    ble_uuid_t adv_uuids[] = {{BLE_UUID_BATTERY_SERVICE, BLE_UUID_TYPE_BLE}};

    // Build and set advertising data
    memset(&advdata, 0, sizeof(advdata));

    advdata.name_type               = BLE_ADVDATA_FULL_NAME;
    advdata.include_appearance      = true;
    advdata.flags.size              = sizeof(flags);
    advdata.flags.p_data            = &flags;
    advdata.uuids_complete.uuid_cnt = sizeof(adv_uuids) / sizeof(adv_uuids[0]);
    advdata.uuids_complete.p_uuids  = adv_uuids;

    err_code = ble_advdata_set(&advdata, NULL);
    APP_ERROR_CHECK(err_code);
}
里我实在没找到具体明确的广播内容,通过抓包数据看ADvdata,真不知道他是怎么组织的广播包内容?请大家帮我看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖
回复

使用道具 举报

4

主题

17

帖子

75

积分

注册会员

Rank: 2

积分
75
沙发
 楼主| lqab1983 发表于 2016-7-26 08:28:15 | 只看该作者
请问如何修改广播数据?我想在默认的格式下填几个字段
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
板凳
admin 发表于 2016-7-29 16:37:55 | 只看该作者
参考下ibeacon典型的广播设置:
宏定义:

函数:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

4

主题

17

帖子

75

积分

注册会员

Rank: 2

积分
75
地板
 楼主| lqab1983 发表于 2016-7-29 16:55:54 | 只看该作者
看到了,貌似所有自定义数据都要放到这个manuf_specific_data里吧?

而且我调试发现,如果想动态修改每次广播数据内容,是不是需要先停止广播再重新调用启动广播?因为我发现好像这个广播时初始化里配置好后就不再修改了,不知道哪里按照广播间隔一次次直接播原来内容
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-4-29 13:53 , Processed in 0.178119 second(s), 29 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表