如何动态更改BD地址?

14个职位/ 0个新职位
最后发表
summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
如何动态更改BD地址?

我可以在启动过程中更改BD地址,例如,我在custom_nvds_get_func()中添加一些代码来从外部FLASH加载BD地址。但是以后我不能改变它。有办法更改BD地址吗每当需要后启动?

JE_Dialog
离线
最后看到:1个月4个小时前
工作人员
加入:2013-12-05 14:02
你好,请看

你好,请看下面的帖子,我相信它涵盖了你的问题。

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

BR JE_Dialog

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
恐怕你误解了

恐怕你误解了我的问题。我已经看了帖子,我想动态更改BD地址,但是帖子中的解决方案只能更改一次BD地址。

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
我被这个问题挡住了

我一整天都被这个问题给堵着了,你能帮帮我吗?

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
有什么建议吗?

有什么建议吗?

VesaN
离线
最后看到:5年6个月前
大师 主
加入:2014-06-26 08:49
你好summer20100514,

你好summer20100514,

也许这个文档有帮助?

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

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

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
谢谢,但我已经加了

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

VesaN
离线
最后看到:5年6个月前
大师 主
加入:2014-06-26 08:49
你好summer20100514,

你好summer20100514,

在384页的核心定义4.1中,它说:

设备可以选择在每次电源周期后将其静态地址初始化为一个新值。在设备电源循环之前,设备初始化后不能改变其静态地址值。

我不认为你需要自己更改地址

PY_Dialog
离线
最后看到:2年10个月前
工作人员
加入:2014-08-25“
嗨summer20100514,

嗨summer20100514,

你可以改变BD地址,但要使它生效,你必须重置无线电。每次你改变你的bd地址时,请使用GAPM_RESET消息来重置你的收音机。

的问候!
PY

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
我测试了GAPM_RESET命令,

我测试了GAPM_RESET命令,BD地址改变了,但仍然有一些东西让我困惑。我在custom_nvds_get_func()中添加了以下代码

For (uint8_t I = 0;我< 6;我+ +)

但[我]= reload_bd_addr[我];

reload_bd_addr [0] + = 1;

在我的服务的函数gattc_write_cmd_ind_handler()中

//重置较低的层。
struct gapm_reset_cmd* cmd = KE_MSG_ALLOC(gapm_reset_cmd, TASK_GAPM, TASK_APP,
gapm_reset_cmd);
cmd - >操作= GAPM_RESET;
ke_msg_send (cmd);

结果

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

我的问题

  1. 为什么是BD地址增加2而不是1?
  2. 为什么我找不到我的服务发送GAPM_RESET命令后?
PY_Dialog
离线
最后看到:2年10个月前
工作人员
加入:2014-08-25“
嗨summer20100514,

嗨summer20100514,

1.检查是否运行此代码两次。
2.你还需要重新启动你的配置文件服务。

的问候!
PY

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
我猜是功能定制

我猜函数custom_nvds_get_func()是由stack调用的,所以我不知道它是否被调用了两次。

summer20100514
离线
最后看到:4年4个月前
大师
加入:2014-12-30 05:01
支持团队会怎样

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

PY_Dialog
离线
最后看到:2年10个月前
工作人员
加入:2014-08-25“
你好,夏天,

你好,夏天,

您可以通过注释掉CFG_EXT_SLEEP和CFG_DEEP_SLEEP来关闭da14580_config.h中的睡眠模式。然后使用调试和断点来跟踪您的程序。

的问候!
PY