我可以在启动期间更改BD地址,例如,我在custom\u nvds\u get\u func()中添加一些代码以从外部闪存加载BD地址。但我以后不能改变。有没有办法更改BD地址需要的时候启动后?
你好,请看下面的帖子,我相信这篇文章涵盖了你的问题。
http://support.dialog-semiconductor.com/bd-address-external-memory
BR JE\u对话框
恐怕你误解了我的问题。我已经读过这篇文章了,我想动态地改变BD地址,但是文章中的解决方案只能改变BD地址一次。
我一整天都在为这个问题烦恼,你能帮我吗?
有什么建议吗?
你好summer20100514,
也许这份文件有用?
要使用所描述的方法,您需要通过键合获得IRK。
你能描述一下你的问题吗?
谢谢,但我已经添加了代码来实现您指出的文档中讨论的功能,这是一个可解析的私有地址解决方案。效果很好。但我的问题是,我是否可以随时配置BD地址,例如使用应用程序来配置它。或者我没有必要这么做,因为BD地址已经在不断变化???也许我没说清楚。
核心定义4.1第3卷第384页写道:
设备可以选择在每次电源循环后将其静态地址初始化为新值。在设备通电之前,设备初始化后不得更改其静态地址值。
我怀疑你是否需要自己改变地址
你好,20100514,
您可以更改BD地址,但要使其生效,您必须重置收音机。每次更改bd地址时,请使用GAPM\ U重置信息重置收音机。
当做!PY公司
我测试了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;
对于(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);
//重置下层。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检查是否运行此代码两次。2您还需要在重置后重新设置您的配置文件服务。
我猜custom\u nvds\u get\u func()函数是由堆栈调用的,所以我不知道是否调用了两次。
支持团队能回答这个问题吗?
嗨,Summer,
您可以通过注释掉CFG\u EXT\u sleep和CFG\u DEEP\u sleep来关闭da14580\u config.h中的睡眠模式。然后使用debug和break point跟踪程序。
你好,请看下面的帖子,我相信这篇文章涵盖了你的问题。
http://support.dialog-semiconductor.com/bd-address-external-memory
BR JE\u对话框
恐怕你误解了我的问题。我已经读过这篇文章了,我想动态地改变BD地址,但是文章中的解决方案只能改变BD地址一次。
我一整天都在为这个问题烦恼,你能帮我吗?
有什么建议吗?
你好summer20100514,
也许这份文件有用?
要使用所描述的方法,您需要通过键合获得IRK。
你能描述一下你的问题吗?
谢谢,但我已经添加了代码来实现您指出的文档中讨论的功能,这是一个可解析的私有地址解决方案。效果很好。但我的问题是,我是否可以随时配置BD地址,例如使用应用程序来配置它。或者我没有必要这么做,因为BD地址已经在不断变化???也许我没说清楚。
你好summer20100514,
核心定义4.1第3卷第384页写道:
我怀疑你是否需要自己改变地址
你好,20100514,
您可以更改BD地址,但要使其生效,您必须重置收音机。每次更改bd地址时,请使用GAPM\ U重置信息重置收音机。
当做!
PY公司
我测试了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);
结果呢
我的问题
你好,20100514,
1检查是否运行此代码两次。
2您还需要在重置后重新设置您的配置文件服务。
当做!
PY公司
我猜custom\u nvds\u get\u func()函数是由堆栈调用的,所以我不知道是否调用了两次。
支持团队能回答这个问题吗?
嗨,Summer,
您可以通过注释掉CFG\u EXT\u sleep和CFG\u DEEP\u sleep来关闭da14580\u config.h中的睡眠模式。然后使用debug和break point跟踪程序。
当做!
PY公司