6 posts / 0 new
Last post
2455321262
Offline
Last seen:2 years 4 months ago
Joined:2017-01-22 06:43
关于蓝牙作为主机的扫描问题

你好:
新手入门DA14580,现在想将BLE作为主机,但在设备扫描启动这里遇到问题。
我参考工程DSPS,在函数app_on_set_dev_config_complete中启动扫描,然而完成扫描启动函数后,程序无法执行到函数app_on_scanning_completed。
这里我做的操作有:1。将需求方中的user_scan_start函数拷贝过来2。拷贝需求方中关于Scan的配置参数。我觉得我可能遗漏了一些重要的东西,希望能够获得帮助。另外,我希望有坛友或者版主能够详细的描述下蓝牙扫描从零到启动的所有过程,或者推荐足够详细的文档,谢谢!

Device:
Qinjiny_Dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2016-11-01 05:47
你好,

你好,

按DSPS中的扫描设定,扫描会在以下几个情况开始:配置完成(user_on_set_dev_config_complete),连接失败(user_on_connection),设备断连(user_on_disconnect),扫描完成(user_on_scanning_completed),其中DSPS用的是GAP_GEN_DISCOVERY 扫描模式,假如没有连接到任何设备,扫描会在大概8到10秒后超时进入完成状态并自动开始下一轮扫描。假如你确定已经跑进扫描过程,并且也使用了和DSPS里面一样的设定,那理论上也应该会自动超时重启。介于你是没有连接也没有超时完成,那么应该是在你的工程中函数本身有哪里不对。你可以手动加个计时器发送命令GAPM_CANCEL_CMD去取消达到一样的效果。

建议你再仔细跟一跟DSPS工程里面关于扫描函数里面各种参量的来龙去脉,看看是不是遗漏哪些关于GAPM的函数或者声明,最好是直接在DSPS工程的基础上修改到你的工程而不是复制几个函数过去。

BR,

Qinjiny_Dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2016-11-01 05:47
文档的话可以看一下support网站Document -

文档的话可以看一下support网站Document ->Profiles & API Documents里面的GAP Interface Specification

2455321262
Offline
Last seen:2 years 4 months ago
Joined:2017-01-22 06:43
你好,Qinjiny_dialog:

你好,Qinjiny_dialog:
谢谢你的解答,我现在已经直接在DSPS工程中修改了。我想问下扫描那个8~10秒的超时时间是用户可以自己配置呢,或者无法修改,只能使用GAPM_CANCEL_CMD取消指令来提前结束扫描呢?

ZhongYueGui
Offline
Last seen:3 years 10 months ago
Joined:2017-03-10 09:36
你好:

你好:
我是新手,请教下你的学习方法,现在一头雾水,dsps有没有相关的技术文档描述其中的各个关键函数啊?
致谢!

Qinjiny_Dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2016-11-01 05:47
印象里都是通过取消指令来提前结束的

印象里都是通过取消指令来提前结束的