主机发送扫描cmd,但不扫描任何外设设备

15个员额/ 0个新员额
最后发表
元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
主机发送扫描cmd,但不扫描任何外设设备

嗨,所有。

在dsps项目“DA14580_dsps_3.150.2”中,主机是send scan cmd,但不扫描任何外围设备。
但在手机应用程序可以扫描外围设备。
为什么?

请帮助我。

代码没有修改,只是添加了一些提示。地点如下:

空白app_scanning(空白)

ke_state_set (TASK_APP APP_CONNECTABLE);

//创建一个内核消息开始扫描
结构gapm\U start\U scan\U cmd*msg=(结构gapm\U start\U scan\U cmd*)KEU msg\U ALLOC(gapm\U start\U scan\U cmd、TASK\U gapm、TASK\U APP、gapm\U start\U scan\U cmd);
//最大对等体连接
味精- >模式= GAP_GEN_DISCOVERY;
味精- > op。代码= GAPM_SCAN_PASSIVE;
味精- > op。addr_src = GAPM_PUBLIC_ADDR;
msg->filter\u duplic=扫描\u FILT\u duplic\u EN;
msg->interval=APP\u SCAN\u interval;
味精- >窗口= APP_SCAN_WINDOW;

uart\U写入(“\r\nS7\r\n”,6,空)//////由我添加

//发送消息
ke_msg_send(味精);

在gapm_cmp_evt_handler函数中添加提示:
案例GAPM\U扫描\U被动:
案例GAPM\u扫描\u激活:

if (param->status == GAP_ERR_CANCELED) / /取消>

uart_write(“\ \ nS6 \ r \ n”,6日,NULL);/ /添加我
app_connect();

其他的

uart_write(“\ \ nS7 \ r \ n”,6日,NULL);/ /添加我
app_scanning ();


打破;

在app_set_dev_config_complete_func功能:
无效应用程序设置开发配置完成功能(无效)

//我们现在处于初始化状态
ke_state_set (TASK_APP APP_DB_INIT);

//在数据库中添加第一个需要的服务
if(app_db_init())

//当数据库已经建立,开始广告
uart\U写入(“\r\nS1\r\n”,6,空)//由我添加
app_scanning ();

在gapm_adv_report_ind_handler函数中:
Int gapm_adv_report_ind_handler(ke_msg_id_t const msgid,
const struct gapm\u adv\u report\u ind*param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)

/*
如果(! memcmp (param - >报告。数据[3]、APP_DFLT_ADV_DATA APP_DFLT_ADV_DATA_LEN))

//将找到的bd_addr保存到全局变量
memcpy (&connect_bdaddr param - > report.adv_addr。addr, sizeof (struct bd_addr));

uart_write(“\ \ nS5 \ r \ n”,6日,NULL);/ /添加我
app_cancel_scanning ();

其他的
*/
uart_write(“\ \ nS6 \ r \ n”,6日,NULL);/ /添加我
返回(KE_MSG_CONSUMED);

我关闭da14580_config.h中的睡眠模式。
不会改变任何东西。
结果是:
S1
S7
S7
S7
S7

每个S7尖端大约有10秒的间隙。
我使用了“DA14580_DSPS_3.150.2”,即sps_设备和sps_主机。
但是不要进入gapm_adv_report_ind_handler函数。
手机应用程序可以扫描14580的外围设备。
为什么不使用gapm_adv_report_ind_handler函数呢?

等待你的帮助。

关键词:
设备:
MHv_Dialog
离线
最后看到:2个月2周以前
工作人员
加入:15 2013-12-06
你好,

你好,

你对外围设备做了什么改动吗?在不进行任何修改的情况下,代码如何为您工作?

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
你好,

你好,

因为没有32.768K,所以

外围只改变这个地方:
#定义CFG_LP_CLK 0x00到0xAA;

市中心也改变了这个地方:
#定义CFG_LP_CLK 0x00到0xAA;
没有变化

其他地方都没有变化。

元航武

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
嗨,所有。

嗨,所有。
我使用“DA14580_DSPS_3.150.2”sps_host。

当GAPM_START_SCAN_CMD发送,

但是不要进入gapm_adv_report_ind_handler函数。

手机应用程序可以扫描14580的外围设备。
为什么?
如何使用sps_host项目获得外设广告数据?
在某个地方获取广告数据存储?

谢谢。

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
或者需要等待很长时间

或者需要等待很长时间才能扫描出广告数据,
如何更快的扫描出广告数据?

谢谢。

MHv_Dialog
离线
最后看到:2个月2周以前
工作人员
加入:15 2013-12-06
我不知道该怎么帮你

我不知道如何帮助你。我已请当地代表直接联系您。

summer20100514
离线
最后看到:4年5个月前
古鲁
加入:2014-12-30 05:01
我有类似的问题。什么时候?

我有类似的问题。什么时候?I use PASSIVE_SCAN there isn't any adv data. Would you please help me ?

summer20100514
离线
最后看到:4年5个月前
古鲁
加入:2014-12-30 05:01
我的代码有问题,所以

我的代码中有一个bug,所以问题解决了。谢谢。

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
你好,summer20100514,

你好,summer20100514,

你的问题已经解决了。
所以,我需要你的帮助。
DA14580_DSPS_3.150.2中使用的主机角色,
如何使扫描结果更快更有效?

谢谢。

summer20100514
离线
最后看到:4年5个月前
古鲁
加入:2014-12-30 05:01
我没有使用DA14580_DSPS_3

我没有使用DA14580_DSPS_3.150.2,而是使用DA14580_SDK_3.0.4.0\host_apps\windows\proximity\monitor。当然,我在PC上修改了项目,使其在STM32上作为一个外部主机和DA14580上运行ble堆栈,即DA14580_SDK_3.0.4.0\dk_apps\keil_projects\proximity\monitor_fe_usb。由于一些商业上的原因,我不能提供给你这个项目,但是我认为你可以看看这些项目来获得灵感,其实很简单。

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
嗨,MHv_dialog

嗨,MHv_dialog

我测试了多次使用主机扫描广告数据,仅一次扫描出gapm_adv_report_ind_handler函数中的广告数据。
所以我想更快更有效地得到扫描结果。
那么怎么办呢?

谢谢。

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
嗨,MHv_dialog,

嗨,MHv_dialog,

我的意思是主机设备第一次或第二次扫描,然后扫描出perpheral的广告数据。
是的,用较短的扫描时间得到扫描结果。

怎么做才能做到呢?

谢谢。

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
嗨,MHv_dialog,

嗨,MHv_dialog,

我只是在KEIL u4中调试。
当我这样设置时:
///广告的最小间隔
#定义APP_ADV_INT_MIN 0x30
///广告的最大间隔
#定义APP_ADV_INT_MAX 0x30
我点击dubug -运行-(已经扫描出外围广告数据)- dubug。

当我这样设置时:
///广告的最小间隔
#定义xa0 APP_ADV_INT_MIN 0
///广告的最大间隔
#定义APP_ADV_INT_MAX 0xA0
我点击dubug——运行——dubug。
我插入提示告诉我,很多时间过去了,但也无法扫描出外围广告数据。

哦?
对于低消费,那么广告间隔应该设定多长时间为最佳?

谢谢。

元航武
离线
最后看到:4年12个月前
专家
加入:2015-03-25 08:19
嗨,MHv_dialog,

嗨,MHv_dialog,

我明白了。
结果是:
周边:
0.5秒的广告间隙。

中心:
主机每7.5秒扫描一次,但平均消耗3.6MA。

扫描速度不是很快,但是消耗已经很高了。
如何使扫描结果更快更有效?
或者如何获得最佳平衡。

achao1104
离线
最后看到:5年3个月前
主
加入:2015-12-24 10:56
你怎么解决这个问题

你怎么解决这个问题?我现在也有同样的问题,谢谢。
"不要进入gapm_adv_report_ind_handler"