嗨对话小组,
我们计划创建“设备A”(它将具有DA14586控制器),其可以充当外围设备,以便像移动这样的中央设备可以与之通信。
此外,我们还有很少的外围设备,如设备,我们可以称为“设备XYZ”。我们希望与“设备A”与“设备XYZ”通信。
由于“设备XYZ”是外围设备,我们将需要“设备A”才能与它们连接。
这是可以通过DA14586吗?
谢谢,Karan.
嗨Karanshah28,
DA14585 / 6可以充当外设和中央,通过将设备的间隙角色设置在GAP_ROLE_ALL中而不是一个中央或外围设备,只要您完成您应该能够宣传或扫描。您将无法同时进行两种程序;您将不得不取消扫描,以启动广告,反之亦然。您可以在以下几个步骤中找到,以便在BLE_APP_PERITIELAL示例中实现GAP_ROLE_ALL(您不能同时执行两个),只要定时器经过,设备就会开始通告并设置计时器,广告过程停止。由于它停止,您可以开始扫描,等待扫描完成(如果您在GAP_GEN_DISCOVERY中扫描或设置额外的计时器并取消扫描过程),就在扫描再次启动广告时,请尽快开始扫描。
void user_scan_start(void)
{
struct gapm_start_scan_cmd * cmd = ke_msg_alloc(gapm_start_scan_cmd,
task_gapm,task_app,
gapm_start_scan_cmd);
cmd-> op.code = gapm_scan_passive;
cmd-> op.addr_src = gapm_static_addr;
cmd->间隔= 16384;
cmd->窗口= 16384;
cmd-> mode = 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_config.h标题文件中的user_gapm_conf结构的角色项。其值是GAP_ROLE_ALL,这意味着设备可以作为外围设备作为外围设备或作为中央(不同时)。
谢谢,PM_DIALOG.
嗨Karanshah28,
DA14585 / 6可以充当外设和中央,通过将设备的间隙角色设置在GAP_ROLE_ALL中而不是一个中央或外围设备,只要您完成您应该能够宣传或扫描。您将无法同时进行两种程序;您将不得不取消扫描,以启动广告,反之亦然。您可以在以下几个步骤中找到,以便在BLE_APP_PERITIELAL示例中实现GAP_ROLE_ALL(您不能同时执行两个),只要定时器经过,设备就会开始通告并设置计时器,广告过程停止。由于它停止,您可以开始扫描,等待扫描完成(如果您在GAP_GEN_DISCOVERY中扫描或设置额外的计时器并取消扫描过程),就在扫描再次启动广告时,请尽快开始扫描。
void user_scan_start(void)
{
struct gapm_start_scan_cmd * cmd = ke_msg_alloc(gapm_start_scan_cmd,
task_gapm,task_app,
gapm_start_scan_cmd);
cmd-> op.code = gapm_scan_passive;
cmd-> op.addr_src = gapm_static_addr;
cmd->间隔= 16384;
cmd->窗口= 16384;
cmd-> mode = 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_config.h标题文件中的user_gapm_conf结构的角色项。其值是GAP_ROLE_ALL,这意味着设备可以作为外围设备作为外围设备或作为中央(不同时)。
谢谢,PM_DIALOG.