DA14585主从集成模块

学到更多常见问题解答教程

5个帖子/ 0新
最后一篇
孙梦君
离线
最后一次露面:2天前1周
加入:2020-03-03 02:40
DA14585主从集成模块

你好

da14585是有没有主从程序?

谢谢

设备:
PM_DIALOG.
离线
最后一次露面:1天8小时前
员工
加入:2018-02-08 11:03
嗨,您好,

嗨,您好,

我并不完全确定您正在搜索的内容,但请查看对话框串行端口服务(DSP)参考应用程序。DSP包含2个项目:

SPS_HOST:DA14585充当中央

SPS_DEVICE:DA14585充当外围设备

如果我误解了你的问题,请尽量澄清它,因为它很小。

这是我们的英文论坛和客户用英语发布他们的问题。因此,请用英语翻译您的问题/评论,或在中国论坛中发布。

https://support.dialog-semicondiondiondiondiondum/forums/dialog-low-energy-%2%80%93-software-dialog-%e2%80%9cartbond%e2%80%9d%e7%B3%BB%E5%88%97%E4%BD%8E%E5%8a%9f%E8%80%97%E8%93%9d%e7%89%99%E2%80%94%E8%BD%AF%E4%BB%B6

谢谢,PM_DIALOG.

孙梦君
离线
最后一次露面:2天前1周
加入:2020-03-03 02:40
谢谢您的回复

谢谢您的回复

主设备和从集成程序,它可以是主站或从站,并且可以通过状态切换主设备和从站。

PM_DIALOG.
离线
最后一次露面:1天8小时前
员工
加入:2018-02-08 11:03
嗨,您好

嗨,您好

根据Bluetooth Le规范,无法同时扫描(间隙中心角色)并宣传(间隙外围角色)。由于您使用的是DA14585,您可以执行从外设切换到中央间隙配置的角色,反之亦然。这可以通过将角色设置为GAP_ROLE_ALL来完成,以便您可以进行广告或扫描。但是不可能同时做两者。

让我们将SDK的BLE_APP_PERITEDAL示例作为起点。默认情况下,DA14585配置为外设,因此它开始广告(无向)。您可以使用app_easy_timer()和到期后,您应该停止广告。一旦停止,您就可以将设备配置为中心并开始扫描。您可以等待扫描完成(如果在GAP_GEN_DISCOVERY中扫描)或设置额外的计时器并取消扫描过程。扫描完成后,也许您可​​以再次启动广告。请检查下面的步骤以执行角色切换。

- 将user_gapm_conf结构的.thole成员更改为user_config.h文件中的gap_role_all。

- 创建user_scan_start()函数以开始扫描:

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_active;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); }

- 在user_app_adv_start()函数中,有一个定时器启动,以便在大约30秒后停止广告,因此我们将使用它以停止广告。

- 因此在Timer Adv_Data_update_Timer_CB()的回调中而不是更新广告字符串,请调用app_easy_gap_advertise_stop()函数。

- 在user_app_add_undirect_complete()函数调用user_scan_start()函数,以便在设备停止广告以开始扫描。

- 为了停止扫描,将不会使用额外的计时器以取消命令,但将使用扫描本身的超时。

- 一旦扫描结束创建函数user_on_scanning_Completed(),并且从该函数启动广告,调用user_app_adv_start();

谢谢,PM_DIALOG.

孙梦君
离线
最后一次露面:2天前1周
加入:2020-03-03 02:40
谢谢您的回复。一世

谢谢您的回复。我会尝试这种方法