主机是send scan cmd,但不扫描任何外围设备

15个职位/0个新职位
最后一篇文章
YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
主机是send scan cmd,但不扫描任何外围设备

大家好。

在需求方的项目“DA14580_DSPS_3.150.2”,主持人s send scan cmd but not scan any perpheral device.
但手机应用程序可以扫描周围的设备。
为什么?

请帮帮我。

代码没有更改,但通过uart添加了一些提示。位置如下:

无效应用程序扫描(void)
{
ke\ u state\ u set(任务\应用程序,应用程序\可连接);

//创建内核消息以开始扫描
struct gapm_start_scan_cmd *msg = (struct gapm_start_scan_cmd *)KE_MSG_ALLOC(GAPM_START_SCAN_CMD, TASK_GAPM, TASK_APP, gapm_start_scan_cmd);
//最大对等连接
msg->mode=GAP\u GEN\u发现;
msg->op.code=GAPM\u SCAN\u PASSIVE;
msg->op.addr\u src=GAPM\u PUBLIC\u addr;
msg->filter_duplic = SCAN_FILT_DUPLIC_EN;
msg->interval = APP_SCAN_INTERVAL;
msg->window=APP\u SCAN\u窗口;

uart_write("\r\nS7\r\n", 6, NULL); //////add by me

// Send the message
发送消息(msg);
}

在gapm\u cmp\u evt\u处理程序函数中添加提示:
case GAPM_SCAN_PASSIVE:
case GAPM_SCAN_ACTIVE:
{
if(param->status==GAP\u ERR\u CANCELED)
{
uart\u write(“\r\nS6\r\n”,6,NULL)//由我添加
app_connect();
}
其他的
{
uart\u write(“\r\nS7\r\n”,6,NULL)//由我添加
应用程序扫描();
}
}
中断;

在应用程序\设置\开发\配置\完成\功能:
void app_set_dev_config_complete_func(void)
{
// We are now in Initialization State
ke\ u state\ u set(任务\应用程序、应用程序\数据库\初始化);

//在数据库中添加第一个必需的服务
if (app_db_init())
{
//当数据库已经建立好,就开始做广告
uart_write("\r\nS1\r\n", 6, NULL); //add by me
应用程序扫描();
}
}

在gapm\u adv\u report\u ind\u handler函数中:
int gapm\u adv\u report\u ind\u handler(ke\u msg\u id\u t const msgid,
const struct gapm_adv_report_ind *param,
任务id常量目标id,
Keu任务\u id \u t const src \u id)
{
/*
如果(!memcmp(¶m->report.data[3],应用程序\u DFLT\u ADV\u data,应用程序\u DFLT\u ADV\u data\u LEN))
{
//Save found bd_addr to global variable
memcpy(&connect_bdaddr,param->report.adv_addr.addr,sizeof(struct bd_addr));

uart\u write(“\r\nS5\r\n”,6,NULL)//由我添加
app_cancel_scanning();
}
其他的
*/
uart\u write(“\r\nS6\r\n”,6,NULL)//由我添加
返回(已消耗的消息);
}

我在da14580\u config.h中关闭睡眠模式。
什么都没变。
结果是:
S1级
S7级
S7级
S7级
S7级

every S7 tip is about 10 second gap.
I used "DA14580_DSPS_3.150.2", The sps_device and sps_host.
但不进入gapm\u adv\u report\u ind\u处理程序函数。
手机应用程序可以扫描14580的外围设备。
为什么不进入gapm\u adv\u report\u ind\u handler函数?

等待你的帮助。

Keywords:
设备:
MHv\U对话框
离线
最后一次见到:2个月2周前
工作人员
已加入:2013-12-06 15:10
你好,

你好,

你有没有改变周边的东西?代码如何在没有任何修改的情况下为您工作?

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
你好,

你好,

因为没有32.768K,所以

外围设备仅在此处更改:
#define CFG_LP_CLK 0x00 to 0xAA;

中央也改变了这个地方:
#define CFG_LP_CLK 0x00 to 0xAA;
没有变化

其他地方再也没有变化了。

YuanhangWu

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
大家好。

大家好。
我使用“DA14580\U DSPS\U 3.150.2”sps\U主机。

当GAPM启动扫描命令发送时,

但不进入gapm\u adv\u report\u ind\u处理程序函数。

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

thanks.

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
Or need to wait for a long

Or need to wait for a long time to scan out the advertising data,
如何更快地扫描出广告数据?

thanks.

MHv\U对话框
离线
最后一次见到:2个月2周前
工作人员
已加入:2013-12-06 15:10
我不知道该怎么帮你

我不知道该怎么帮你. I have asked a local representative to reach out to you directly.

夏季20100514
离线
最后一次见到:4年5个月前
Guru
已加入:2014-12-30 05:01
I have similar question. When

我有类似的问题。当我使用被动扫描时,没有任何adv数据。你能帮帮我吗?

夏季20100514
离线
最后一次见到:4年5个月前
Guru
已加入:2014-12-30 05:01
我的代码中有个bug,所以

我的代码中有个bug,所以the problem is resolved. Thanks.

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
你好,summer20100514,

你好,summer20100514,

You problem have resolved.
所以,我需要你的帮助。
在DA14580\U DSP\U 3.150.2中使用主机角色,
如何使扫描结果更快更有效?

thanks .

夏季20100514
离线
最后一次见到:4年5个月前
Guru
已加入:2014-12-30 05:01
我没有用DA14580数字信号处理器3

我没有使用DA14580\u DSPS\u 3.150.2,而是使用DA14580\u SDK\u 3.0.4.0\host\u apps\windows\proximity\monitor。当然,我修改了PC上的项目,将STM32作为一个外部主机,DA14580运行ble堆栈,即DA14580\U SDK\U 3.0.4.0\dk\u apps\keil\u projects\proximity\monitor\u fe\u usb。由于一些商业原因,我不能提供给你的项目,但我认为你可以研究这些项目获得灵感,事实上,这是很容易的。

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
嗨,MHv\U对话

嗨,MHv\U对话

我测试了很多次使用主机扫描广告数据,只有一次扫描出广告数据在gapm\u adv\u report\u ind\u处理函数。
所以我想得到更快更有效的扫描结果。
那怎么办?

thanks.

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
嗨,MHv\U对话,

嗨,MHv\U对话,

I mean is that host device scan first time or second time,then scan out the perpheral's advertising data.
是的,用很短的数字扫描时间得到扫描结果。

how to do to make it?

thanks.

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
嗨,MHv\U对话,

嗨,MHv\U对话,

I just debug in KEIL u4.
When I set like this:
///广告最小间隔
#define APP_ADV_INT_MIN 0x30
///广告最大间隔
#define APP_ADV_INT_MAX 0x30
我点击dubug--run-(已经扫描出了周围的广告数据)--dubug。

When I set like this:
///广告最小间隔
#定义APP\u ADV\u INT\u MIN 0xA0
///广告最大间隔
#define APP_ADV_INT_MAX 0xA0
我点击dubug——运行——dubug。
我插入提示告诉我,很多时间过去了,但也无法扫描出周围的广告数据。

喂?
对于低消费,那么广告间隔应该设置多长时间才是最好的呢?

谢谢。

YuanhangWu
离线
最后一次见到:4年11个月前
专家
已加入:2015-03-25 08:19
嗨,MHv\U对话,

嗨,MHv\U对话,

I have get it.
结果是:
外围设备:
0.5秒间隔。

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

扫描速度不是很快,但是消耗已经很高了。
如何使扫描结果更快更有效?
Or how to get the best balance.

阿曹1104
离线
最后一次见到:5年3个月前
硕士
已加入:2015-12-24 10:56
你怎么解决这个问题

你怎么解决这个问题?我现在也有同样的问题了,谢谢。
“不进入gapm adv report ind处理程序”