如何动态更改BD地址?

14个职位/0个新职位
最后一篇文章
夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
如何动态更改BD地址?

我可以在启动期间更改BD地址,例如,我在custom\u nvds\u get\u func()中添加一些代码以从外部闪存加载BD地址。但我以后不能改变。有没有办法更改BD地址需要的时候启动后?

JE\U对话框
离线
最后一次见到:5天7小时前
工作人员
已加入:2013-12-05 14:02
你好,请看

你好,请看下面的帖子,我相信这篇文章涵盖了你的问题。

http://support.dialog-semiconductor.com/bd-address-external-memory

BR JE\u对话框

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
恐怕你误解了

恐怕你误解了我的问题。我已经读过这篇文章了,我想动态地改变BD地址,但是文章中的解决方案只能改变BD地址一次。

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
我被这个问题挡住了

我一整天都在为这个问题烦恼,你能帮我吗?

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
有什么建议吗?

有什么建议吗?

维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
你好summer20100514,

你好summer20100514,

也许这份文件有用?

要使用所描述的方法,您需要通过键合获得IRK。

你能描述一下你的问题吗?

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
谢谢,但我已经补充了

谢谢,但我已经添加了代码来实现您指出的文档中讨论的功能,这是一个可解析的私有地址解决方案。效果很好。但我的问题是,我是否可以随时配置BD地址,例如使用应用程序来配置它。或者我没有必要这么做,因为BD地址已经在不断变化???也许我没说清楚。

维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
你好summer20100514,

你好summer20100514,

核心定义4.1第3卷第384页写道:

设备可以选择在每次电源循环后将其静态地址初始化为新值。在设备通电之前,设备初始化后不得更改其静态地址值。

我怀疑你是否需要自己改变地址

PY\u对话框
离线
最后一次见到:2年8个月前
工作人员
已加入:2014-08-25 09:59
你好,20100514,

你好,20100514,

您可以更改BD地址,但要使其生效,您必须重置收音机。每次更改bd地址时,请使用GAPM\ U重置信息重置收音机。

当做!
PY公司

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
我测试了GAPM\u重置命令,

我测试了GAPMèu RESET命令,BD地址改变了,但是仍然有一些东西让我困惑。我在custom\u nvds\u get\u func()中添加了以下代码

对于(uint8\t i=0;i<6;i++)
{
buf[i]=重新加载地址[i];
}
重新加载\u bd \u addr[0]+=1;

在我的服务的函数gattc\u write\u cmd\u ind\u handler()中

//重置下层。
struct gapm\u reset\u cmd*cmd=KE\u MSG\u ALLOC(gapm\u reset\u cmd,TASK\u gapm,TASK\u APP,
gapm(重置命令);
cmd->operation=GAPM\u RESET;
发送消息(cmd);

结果呢

  1. 初始化后,BD地址为00 00 00 01
  2. 在我写了一些东西到我的服务后,BD地址是00 00 00 03,但是我再也找不到我的服务了,只有通用访问泛型属性左边

我的问题

  1. 为什么是BD地址增加2而不是1?
  2. 为什么我找不到我的服务发送GAPM\ U重置命令后?
PY\u对话框
离线
最后一次见到:2年8个月前
工作人员
已加入:2014-08-25 09:59
你好,20100514,

你好,20100514,

1检查是否运行此代码两次。
2您还需要在重置后重新设置您的配置文件服务。

当做!
PY公司

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
我猜功能是定制的

我猜custom\u nvds\u get\u func()函数是由堆栈调用的,所以我不知道是否调用了两次。

夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
支持团队会

支持团队能回答这个问题吗?

PY\u对话框
离线
最后一次见到:2年8个月前
工作人员
已加入:2014-08-25 09:59
嗨,Summer,

嗨,Summer,

您可以通过注释掉CFG\u EXT\u sleep和CFG\u DEEP\u sleep来关闭da14580\u config.h中的睡眠模式。然后使用debug和break point跟踪程序。

当做!
PY公司