DSPS 3.150.2突发电流和信标内容

6个职位/0个新职位
最后一篇文章
杰克肖
离线
最后一次见到:3年5个月前
已加入:2016-01-15 01:32
DSPS 3.150.2突发电流和信标内容

你好,

参考图1,我已经将信标间隔配置为1s,突发电流指示BLE广播。我放大了示波器的时间刻度,每个脉冲电流包含3个峰值电流,如图2所示。为什么会有3个峰值电流?信标每秒广播3次吗?如果是,如何配置广播次数?

另外,我还想广播一个字节来指示每个信标中的一个特性,是否需要修改APP_ADV_func()中APP_DELF_ADV_DATA的内容?谢谢。

比尔,
杰基

附件:
设备:
MT\u对话框
离线
最后一次见到:3个月4天前
工作人员
已加入:2015-06-08 11:34
你好,杰克肖,

你好,杰克肖,

BLE规范指出一个外围设备应该在所有三个BLE信道中进行广告,因此您看到的是在一个广告间隔期间每个信道上分别(37、38、39)的传输。您可以将设备配置为仅向一个频道播发,但这将减少主机找到您的设备的机会。您可以通过更改gapm\u start\u advertise\u cmd结构的channel\u map成员并放置要播发的频道0x07启用所有三个频道中的播发,并分别为频道37、38、39启用0x00、0x02、0x04。

关于广告字符串,是的,这是为DSPS项目提供数据的#define,但是您也需要更改adv数据的长度,并且在放置附加字节时要小心,您必须遵守BLE规范的广告字符串约定。

谢谢你的对话

杰克肖
离线
最后一次见到:3年5个月前
已加入:2016-01-15 01:32
嗨,MT\u dialog,

嗨,MT\u dialog,

谢谢你的回复。启用3个频道时,我是否可以增加每个频道之间的广告间隔?e、 g.为每个频道或任何参数添加广告后的延迟,以更改此间隔。谢谢。

MT\u对话框
离线
最后一次见到:3个月4天前
工作人员
已加入:2015-06-08 11:34
你好,杰克肖,

你好,杰克肖,

您可以通过更改BLE\u ADVTIM\u REG来操纵广告频道之间的间隔,在信标示例中有一个实现,请检查BLE\u ADVTIM\u set()函数。寄存器的值以usec为单位,它是一个0-13位寄存器。

谢谢你的对话

杰克肖
离线
最后一次见到:3年5个月前
已加入:2016-01-15 01:32
嗨,MT\u dialog,

嗨,MT\u dialog,

我在app\u sps\u device\u project.c中添加了include“ble\u blecore.h”并修改了以下代码,但我发现广告频道之间的间隔没有变化。请告知。

#定义BLE\u ADVTIM\u ADDR 0x400000A0
#定义BLE\u ADVTIM\u偏移量0x000000A0
#定义索引0x00000028
#定义BLE\u ADVTIM\u RESET 0x00000000

__INLINE uint32\u t ble\u advtim\u get(空)
{
返回注册表(BLE\u ADVTIM\u ADDR);
}

__内联void ble\u advtim\u set(uint32\u t值)
{
注册地址(BLE\u ADVTIM\u ADDR,value);

void app\u adv\u func(结构gapm\u start\u advised\u cmd*cmd)
{
//设备名称长度
uint8\u t设备名称\u长度;
设备名称可用空间;
uint8设备名称温度buf[64];

cmd->op.code=GAPM\u ADV\u UNDIRECT;
cmd->op.addr\u src=GAPM\u PUBLIC\u addr;
cmd->intv\u min=APP\u ADV\u INT\u min;
cmd->intv\u max=APP\u ADV\u INT\u max;
cmd->channel\u map=APP\u ADV\u CHMAP;

cmd->info.host.mode=GAP\u GEN\u DISCOVERABLE;
ble_advtim_set(8192);//<--加上这个可以增加广告频道的间隔
/*-----------------------------------------------------------------------------------
*设置广告数据和扫描响应数据
*---------------------------------------------------------------------------------*/
cmd->info.host.adv\u data\u len=APP\u adv\u data\u MAX\u SIZE;
cmd->info.host.scan\u rsp\u data\u len=APP\u scan\u RESP\u data\u MAX\u SIZE;

MT\u对话框
离线
最后一次见到:3个月4天前
工作人员
已加入:2015-06-08 11:34
你好,杰克肖,

你好,杰克肖,

检查beacon示例,函数在哪里被调用,以及它是如何被使用的,并尝试在您的项目中复制它,不要只是将函数放在您的广告函数中。我已经检查与灯塔项目和价值,你提供的应该是好的,你应该看到一个相当长的间隔广告渠道。

谢谢你的对话