DA14580作为主人:Connexion阶段

5个帖子/ 0新
最后一篇
s.miermont.
离线
最后一次露面:3年9个月前
加入:2015-11-17 13:21
DA14580作为主人:Connexion阶段

你好,

我正在尝试从DA14580开始一个连接到另一个BLE设备。

我从鞍骨项目开始,并修改了user_app_init()函数,如下所示:


void user_app_init(void)
{
//初始化制造商特定数据
mnf_data_init();
default_app_on_init();

struct gapm_start_connection_cmd connect;
connect.nb_peers = 1;

connect.peers [0] .addr.addr [0] = 0x03;
connect.peers [0] .addr.addr [1] = 0xe5;
connect.peers [0] .addr.addr [2] = 0x5b;
connect.peers [0] .addr.addr [3] = 0x16;
connect.peers [0] .addr.addr [4] = 0x4a;
connect.peers [0] .addr.addr [5] = 0x54;

connect.peers [0] .addr_type = 0;//上市
connect.con_intv_min = 100;
connect.con_intv_max = 100;
connect.ce_len_min = 0x0;
connect.ce_len_max = 0x5;
connect.con_latency = 0;
connect.op.addr_src = gapm_public_addr;
connect.peers [0] .addr_type = gapm_public_addr;
connect.superv_to = 0x1f4; // 500 - > 5000毫秒;
connect.scan_interval = 0x180;
connect.scan_window = 0x160;
connect.op.code = gapm_connection_direct;
gapm_execute_connect_op(&connect);
}

我还添加了两个回调:


void user_app_scanning_completed(void)
{
ARCH_PUTS(“\ ncomplite”);
}

void user_on_adv_report_ind(struct gapm_adv_report_ind const *报告)
{
Arch_puts(“\ nok”);
}

当我运行此代码时,否都不调用回调,并且它会触发异常。
我做错了什么?
它是连接的好方法吗?

- - - - 更新 - - - - - -

好的,我改变了邮件的静态分配:

struct gapm_start_connection_cmd * connect = app_connect_start_msg_create();

并替换gapm_execute_connect_op()

经过

KE_MSG_SEND(CONNECT);

我,不再有例外,但代码仍然没有什么......

---------------------------

谢谢
问候

设备:
mt_dialog.
离线
最后一次露面:2个月18小时前
职员
加入:2015-06-08 11:34
嗨s.miermont,

嗨s.miermont,

鞍骨项目是一个外设项目,作为一个外设无法连接到中央,只有中央可以发出GAPM_START_CONNECTION_COMMAND以连接到外围设备。您必须配置您的设备以充当中央。这可以通过在GAP_Central_mst中设置设备的角色来完成。完成后,您必须开始扫描,以便在GAPM_ADV_REPORT_IND_HANDLER中获取广告迹象(APP_ON_ADV_REPORT_INCH CLOSE)。当广告指示点击时,检查设备是否是要连接的设备,然后可以取消扫描过程,当扫描过程命中的结尾(在App_On_Scanning_Completed)中,您可以向设备发出连接命令想要连接。您可以通过DSP项目的主机侧查看如何从Central扫描和连接的实现。请看看以下函数,并在DSP项目中始终在主机方面进行。

- app_configuration_func() - >将设备设置为中心

- app_scanning() - >开始扫描

-app_connect() - >使用外设启动连接。

谢谢mt_dialog.

s.miermont.
离线
最后一次露面:3年9个月前
加入:2015-11-17 13:21
你好,

你好,
感谢您的回答。

我忘了写下我已经将config更改为gap_central_mst。

对不起,但我无法在我的SDK中找到DSPS项目。我可以在哪里 ?

谢谢

mt_dialog.
离线
最后一次露面:2个月18小时前
职员
加入:2015-06-08 11:34
嗨s.miermont,

嗨s.miermont,

DSP不是SDK的一部分,而是参考设计。检查参考设计页面http://support.dialog-semicondiondiondum/connectivity/reference-designs.

谢谢mt_dialog.

s.miermont.
离线
最后一次露面:3年9个月前
加入:2015-11-17 13:21
好,谢谢。它有助于。

好,谢谢。它有助于。

主题锁定