你好。
是否可以同时与多个外围设备建立BLE连接?
我试图设置设备配置以使DA14585表现为中心模式,并连接到2个外围设备。
成功建立了与第一外围设备的连接,但除非设置第1连接,否则不会启动与第二外围设备的连接。
如果可能,你能告诉我如何建立多个连接吗?
谢谢你。
嗨takeuchi0304,
是的,有可能。请检查在da1458x_config_basic.h标题文件中的cfg_max_connections。此定义确定应用程序支持的最大并发连接。它配置分配给服务多个连接的堆内存。它用于差距中央角色应用。亚博国际官网平台网址
谢谢,PM_DIALOG.
感谢您的答复!
我如下尝试;
```
#define cfg_max_connections(2)
uint8_t bd_addr_0 [6];//固定BD地址
uint8_t bd_addr_1 [6];//固定BD地址
struct gapm_start_connection_cmd * cmd = ke_msg_alloc_dyn(
Gapm_start_connection_cmd,task_gapm,task_app,gapm_start_connection_cmd,
cfg_max_connections * sizeof(struct gap_bdaddr));
cmd-> op.code = gapm_connection_direct;
cmd-> op.addr_src = gapm_static_addr;
cmd-> scan_interval = 0x180;
cmd-> scan_window = 0x160;
cmd-> con_intv_min = 100;
cmd-> con_intv_max = 100;
cmd-> con_latency = 0;
cmd-> superv_to = 0x1f4;
cmd-> ce_len_min = ms_to_doubleslots(0);
cmd-> ce_len_max = ms_to_doubleslots(0);
cmd-> nb_peers = 2;
memcpy(cmd->对等体[0] .addr.addr,bd_addr_0,bd_addr_len * sizeof(uint8_t));
cmd->对等体[0] .addr_type = gapm_cfg_addr_public;
memcpy(cmd->对等体[1] .addr.addr,bd_addr_1,bd_addr_len * sizeof(uint8_t));
cmd->对等体[1] .addr_type = gapm_cfg_addr_public;
ke_msg_send(cmd);
我期望可以收到GAPC_CONNECTION_REQ_NIND事件。
但是无法接收第二个设备的事件。
我的代码出了什么问题?
你能给我一个代码片段还是正确的消息序列?
谢谢。
你可以检查示例:BLE中央安全演示项目软件示例作为基于SDK6.0.10.511顶部的引用。此外,请注意DA14585 / 6的所有软件示例都不包含SDK文件,因此您必须将示例与SDK路径链接以构建它们。此链接中描述了您应遵循的程序:示例:DA1458X示例设置。
嗨takeuchi0304,
是的,有可能。请检查在da1458x_config_basic.h标题文件中的cfg_max_connections。此定义确定应用程序支持的最大并发连接。它配置分配给服务多个连接的堆内存。它用于差距中央角色应用。亚博国际官网平台网址
谢谢,PM_DIALOG.
感谢您的答复!
我如下尝试;
```
#define cfg_max_connections(2)
uint8_t bd_addr_0 [6];//固定BD地址
uint8_t bd_addr_1 [6];//固定BD地址
struct gapm_start_connection_cmd * cmd = ke_msg_alloc_dyn(
Gapm_start_connection_cmd,task_gapm,task_app,gapm_start_connection_cmd,
cfg_max_connections * sizeof(struct gap_bdaddr));
cmd-> op.code = gapm_connection_direct;
cmd-> op.addr_src = gapm_static_addr;
cmd-> scan_interval = 0x180;
cmd-> scan_window = 0x160;
cmd-> con_intv_min = 100;
cmd-> con_intv_max = 100;
cmd-> con_latency = 0;
cmd-> superv_to = 0x1f4;
cmd-> ce_len_min = ms_to_doubleslots(0);
cmd-> ce_len_max = ms_to_doubleslots(0);
cmd-> nb_peers = 2;
memcpy(cmd->对等体[0] .addr.addr,bd_addr_0,bd_addr_len * sizeof(uint8_t));
cmd->对等体[0] .addr_type = gapm_cfg_addr_public;
memcpy(cmd->对等体[1] .addr.addr,bd_addr_1,bd_addr_len * sizeof(uint8_t));
cmd->对等体[1] .addr_type = gapm_cfg_addr_public;
ke_msg_send(cmd);
```
我期望可以收到GAPC_CONNECTION_REQ_NIND事件。
但是无法接收第二个设备的事件。
我的代码出了什么问题?
你能给我一个代码片段还是正确的消息序列?
谢谢。
嗨takeuchi0304,
你可以检查示例:BLE中央安全演示项目软件示例作为基于SDK6.0.10.511顶部的引用。此外,请注意DA14585 / 6的所有软件示例都不包含SDK文件,因此您必须将示例与SDK路径链接以构建它们。此链接中描述了您应遵循的程序:示例:DA1458X示例设置。
谢谢,PM_DIALOG.