获取rssi的方法是否正确?

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
8个职位/0个新职位
最后一篇文章
2228266166
离线
最后一次见到:2年1个月前
已加入:2018-08-07 07:43
获取rssi的方法是否正确?

亲爱的支持,
我想在da14580设备连接时,每10ms得到一次rssi值。
void app\u easy\u gap\u get\u con\u rssi(uint8\u t连接\u idx)
{
断言\u警告(connection \u idx

结构gapc\u get\u info\u cmd*cmd=KE\u MSG\u ALLOC(gapc\u get\u info\u cmd,
创建ID(任务\u GAPC,连接\u idx),
任务应用程序,
gapc\u get\u info\u cmd);

cmd->operation=GAPC\u GET\u CON\u RSSI;

发送消息(cmd);
}

int gagc_con_rssi_ind_handler(ke_msg_id_t const msgid,
结构gapc\u con\u rssi\u ind const*参数,
任务id常量目标id,
Keu任务\u id \u t const src \u id)
{
rssi_buf[我]=参数- > rssi;
i++;
如果(i==16)
我= 0;
返回(已消耗的消息)
}

I open timer 0,and use app_easy_gap_get_con_rssi() function in the timer 0 interrupt.In gagc_con_rssi_ind_handler() function ,l can get the value of rssi.
请告诉我这个方法是否正确。

设备:
PM\U对话框
离线
最后一次见到:6小时1分钟前
工作人员
已加入:2018-02-08 11:03
Hi There,

Hi There,

为了获得RSSI值,您应该发送一个GAPC\u get\u INFO\u CMD和一个GAPC\u get\u CON\u RSSI作为命令的操作。之后,堆栈将用GAPC\u CON\u RSSI\u IND响应,应用程序可以从应用程序检索RSSI值。我可以从app\u easy\u gap\u get\u con\u rssi()看到,通过GAPC\u get\u con\u rssi操作向堆栈发送GAPC\u get\u INFO\u CMD命令。但是,我需要一些澄清——关于代码体系结构的信息。如果我理解正确,您的应用程序会在app\u easy\u计时器过期(10毫秒)时执行app\u easy\u gap\u get\u con\u rssi()?为了每10毫秒获得一次rssi值,您能分享一下如何处理计时器0吗?你能告诉我你是否能每10毫秒得到一次rssi值吗?gagc\u con\u rssi\u ind\u处理程序()在获取GAPC\u con\u rssi\u ind时执行?你的代码似乎是正确的。请给我这些澄清,然后我会尝试从我这边测试,我会让你知道。

谢谢,下午好

2228266166
离线
最后一次见到:2年1个月前
已加入:2018-08-07 07:43
你好,

你好,
实际上,我在计时器0中断中使用app\u easy\u gap\u get\u con\u rssi()函数,每10毫秒发送一个GAPC\u get\u INFO\u CMD和一个GAPC\u get\u con\u rssi命令作为命令的操作,但没有得到rssi的值。

PM\U对话框
离线
最后一次见到:6小时1分钟前
工作人员
已加入:2018-02-08 11:03
Hi There,

Hi There,

当您收到广告指示时,广告消息的RSSI值包含在您收到的数据包中。当中央接收到广告包时,会触发一个GAP\u ADV\u REPORT\u IND,并应进行处理以提取rssi。在连接的情况下,您应该显式地向堆栈发送一条消息(GAPC\u GET\u INFO\u CMD)以获取rssi(检查RW\u BLE\u GAP\u IS pdf)。你能澄清一下你的问题吗?

谢谢,下午好

2228266166
离线
最后一次见到:2年1个月前
已加入:2018-08-07 07:43
如果有联系,我

在连接的情况下,为了得到rssi,我每10毫秒向堆栈发送一次GAPC\u GET\u INFO\u CMD。但是,我发现rssi的值在同一距离内非常不稳定。你能给我一个代码例程吗?
Thanks.

PM\U对话框
离线
最后一次见到:6小时1分钟前
工作人员
已加入:2018-02-08 11:03
你好,

你好,

正如本线程中已经提到的,您可以在连接时通过使用GAPC\u GET\u INFO\u CMD和GAPC\u CON\u RSSI\u IND操作获得RSSI,正如您已经在应用程序中实现的那样,您可以获得RSSI值。请查看RW-BLE-GAP-IS.pdf)。另外,请查看软件实现部分的常见问题“如何读取RSSI值并将其转换为dBm?”。得到不稳定值的最可能原因是信号中添加了噪声。你能澄清一下rssi值有多不稳定吗?您使用的是定制板还是我们的开发板?

另外,您还可以参考sdk5.0.4\5.0.4\projects\host\u apps\windows\apprication\monitor\src\app\u task.c文件,该文件是gapc\u con\u rssi\u ind\u处理程序函数的实现。您可以将gapc\u con\u rssi\u ind\u处理程序函数移植到代码中。

如果您发现以上任何答案有用,请将其中一个标记为已接受。

谢谢,下午好

阿齐明
离线
最后一次见到:5个月2周前
已加入:2018-12-12 12:11
你好,你怎么打电话来

您好,如何调用函数“gapc\u con\u rssi\u ind\u handler”?
Thanks

PM\U对话框
离线
最后一次见到:6小时1分钟前
工作人员
已加入:2018-02-08 11:03
嗨,阿齐明,

嗨,阿齐明,

我建议您从SDK主机应用程序的邻近监视器应用程序中查看gapc\u con\u rssi\u ind\u handler()。

谢谢,下午好