嗨,对话框的团队,
我们计划创建一个“设备a”(它将有DA14586控制器),它可以作为一个外设,这样像移动设备这样的中心设备就可以与它通信。
我们也有一些外围设备,比如我们可以称为“设备XYZ”的设备。我们想与来自“设备A”的“设备XYZ”通信。
由于“设备XYZ”是外围设备,我们将要求“设备A”是中心设备,以便与它们连接。
通过DA14586可以吗?
谢谢,卡兰
嗨karanshah28,
DA14585/6可以作为外设和中心,通过在GAP_ROLE_ALL中设置设备的gap角色,而不仅仅是一个中心或外设,一旦完成,您应该能够发布或扫描。你将不能同时做两个步骤;你必须取消扫描才能发起广告,反之亦然。您可以在下面的ble_app_peripheral示例中找到实现GAP_ROLE_ALL的一些步骤(您不能同时做这两件事)设备开始发布并设置一个计时器,计时器一过,发布过程就停止。因为它会停止,所以您可以开始扫描,或者等待扫描完成(如果您正在GAP_GEN_DISCOVERY中进行扫描,或者设置一个额外的计时器并取消扫描过程),以便扫描一完成就重新开始发布。
空白user_scan_start(空白)
{
struct gapm_start_scan_cmd* cmd = KE_MSG_ALLOC(gapm_start_scan_cmd,
TASK_GAPM TASK_APP,
gapm_start_scan_cmd);
cmd - > op。代码= GAPM_SCAN_PASSIVE;
cmd - > op。addr_src = GAPM_STATIC_ADDR;
cmd - >间隔= 16384;
cmd窗口- > = 16384;
cmd - >模式= GAP_GEN_DISCOVERY;
cmd - > filt_policy = SCAN_ALLOW_ADV_ALL;
cmd - > filter_duplic = SCAN_FILT_DUPLIC_EN;
//发送消息
ke_msg_send (cmd);
//我们现在可以连接
ke_state_set (TASK_APP APP_CONNECTABLE);
}
此外,软件实例:BLE中央安全演示项目将DA14585配置为外设和中心设备。请检查user_gapm_conf结构的角色项,它位于头文件user_config.h中。它的值是GAP_ROLE_ALL,这意味着设备可以作为外设或中心(不是同时)。
谢谢,PM_Dialog
嗨karanshah28,
DA14585/6可以作为外设和中心,通过在GAP_ROLE_ALL中设置设备的gap角色,而不仅仅是一个中心或外设,一旦完成,您应该能够发布或扫描。你将不能同时做两个步骤;你必须取消扫描才能发起广告,反之亦然。您可以在下面的ble_app_peripheral示例中找到实现GAP_ROLE_ALL的一些步骤(您不能同时做这两件事)设备开始发布并设置一个计时器,计时器一过,发布过程就停止。因为它会停止,所以您可以开始扫描,或者等待扫描完成(如果您正在GAP_GEN_DISCOVERY中进行扫描,或者设置一个额外的计时器并取消扫描过程),以便扫描一完成就重新开始发布。
空白user_scan_start(空白)
{
struct gapm_start_scan_cmd* cmd = KE_MSG_ALLOC(gapm_start_scan_cmd,
TASK_GAPM TASK_APP,
gapm_start_scan_cmd);
cmd - > op。代码= GAPM_SCAN_PASSIVE;
cmd - > op。addr_src = GAPM_STATIC_ADDR;
cmd - >间隔= 16384;
cmd窗口- > = 16384;
cmd - >模式= GAP_GEN_DISCOVERY;
cmd - > filt_policy = SCAN_ALLOW_ADV_ALL;
cmd - > filter_duplic = SCAN_FILT_DUPLIC_EN;
//发送消息
ke_msg_send (cmd);
//我们现在可以连接
ke_state_set (TASK_APP APP_CONNECTABLE);
}
此外,软件实例:BLE中央安全演示项目将DA14585配置为外设和中心设备。请检查user_gapm_conf结构的角色项,它位于头文件user_config.h中。它的值是GAP_ROLE_ALL,这意味着设备可以作为外设或中心(不是同时)。
谢谢,PM_Dialog