例如,我可以在启动期间更改BD地址,例如,我在custom_nvds_get_func()中添加一些代码来从外部闪存加载BD地址。但我以后无法改变它。有没有办法改变BD地址每当需要时启动后?
嗨,请参阅下面的帖子,我相信覆盖quets。
http://support.dialog-semicondiondiondum/bd-address-external-memory.
BR JE_DIALOG.
我担心你误解了我的问题。我已经读过该帖子,我想动态更改BD地址,但帖子中的解决方案只能更改一次BD地址。
我整天都在这个问题阻止了这个问题,你能帮助我吗?
有什么建议么?
你好夏天2014年,
也许这份文件有用?
要使用所描述的方法,您需要通过键合获得IRK。
你能描述更多你的问题吗?
谢谢,但我已经添加了代码以实现您指出的文档中讨论的功能,这是一个可解决的私人地址解决方案。它很好。但我的问题是,只要我想要,例如使用应用程序来配置它就可以配置BD地址。或者我不需要这样做,因为BD地址已经不时改变了???也许我不清楚。
在核心定义4.1 Vol 3 p。384它说:
设备可以选择在每个电源周期后初始化其静态地址到新值。一旦初始化,设备不得更改其静态地址值,直到设备为电源循环。
我怀疑你需要自己改变地址
嗨Summer20100514,
您可以更改BD地址,但要使它生效,您必须重置无线电。每次更改BD地址时,请使用GAPM_RESET消息重置您的收音机。
问候!PY
我测试了GAPM_RESET命令,并改变了BD地址,但仍有一些东西让我混淆。我在custom_nvds_get_func()中添加以下代码for(Uint8_t i = 0; i <6; i ++){buf [i] = reload_bd_addr [i];}RELOAD_BD_ADDR [0] + = 1;
for(Uint8_t i = 0; i <6; i ++){buf [i] = reload_bd_addr [i];}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);
//重置下层。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.检查您是否两次运行此代码。2.您还需要在重置后重新修复您的个人资料服务。
我猜函数custom_nvds_get_func()是按堆栈调用的,因此我无法弄清楚它是否被调用两次。
支持团队是否友好回答这个问题?
嗨夏天,
您可以通过注释out cfg_ext_sleep和cfg_deep_sleep来关闭da14580_config.h中的睡眠模式。然后使用调试和断点来跟踪您的程序。
嗨,请参阅下面的帖子,我相信覆盖quets。
http://support.dialog-semicondiondiondum/bd-address-external-memory.
BR JE_DIALOG.
我担心你误解了我的问题。我已经读过该帖子,我想动态更改BD地址,但帖子中的解决方案只能更改一次BD地址。
我整天都在这个问题阻止了这个问题,你能帮助我吗?
有什么建议么?
你好夏天2014年,
也许这份文件有用?
要使用所描述的方法,您需要通过键合获得IRK。
你能描述更多你的问题吗?
谢谢,但我已经添加了代码以实现您指出的文档中讨论的功能,这是一个可解决的私人地址解决方案。它很好。但我的问题是,只要我想要,例如使用应用程序来配置它就可以配置BD地址。或者我不需要这样做,因为BD地址已经不时改变了???也许我不清楚。
你好夏天2014年,
在核心定义4.1 Vol 3 p。384它说:
我怀疑你需要自己改变地址
嗨Summer20100514,
您可以更改BD地址,但要使它生效,您必须重置无线电。每次更改BD地址时,请使用GAPM_RESET消息重置您的收音机。
问候!
PY
我测试了GAPM_RESET命令,并改变了BD地址,但仍有一些东西让我混淆。我在custom_nvds_get_func()中添加以下代码
for(Uint8_t i = 0; i <6; i ++)
{
buf [i] = reload_bd_addr [i];
}
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);
结果
我的问题
嗨Summer20100514,
1.检查您是否两次运行此代码。
2.您还需要在重置后重新修复您的个人资料服务。
问候!
PY
我猜函数custom_nvds_get_func()是按堆栈调用的,因此我无法弄清楚它是否被调用两次。
支持团队是否友好回答这个问题?
嗨夏天,
您可以通过注释out cfg_ext_sleep和cfg_deep_sleep来关闭da14580_config.h中的睡眠模式。然后使用调试和断点来跟踪您的程序。
问候!
PY