微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 如何获得RSSi值,从广播中

如何获得RSSi值,从广播中

时间:10-02 整理:3721RD 点击:

一个主设备和从设备,不进行连接,主设备如何从从设备的广播中得到RSSI?

希望能给些提示和建议,谢谢!

一般做法是建立连接后,调用函数才能获取RSSI

不知道你的目的为何,但是我查了一下源码,主机的回调函数GAP_DEVICE_INFO_EVENT可告知主机收到的从机的广播数据,这个里面就包括RSSI值。所以从理论上来说也不是不能实现

pan,

在simpleBLECentral.c中,simpleBLECentralEventCB()函数里面GAP_DEVICE_INFO_EVENT 事件,这是设备查找,找到从设备广播的时候的事件。

在这下面:pEvent->deviceInfo.rssi就是 广播中得到的RSSI的值了。

谢谢你的提示,我在试验后,给予证明

RSSI是来表示接收机测量电路所得到的接收机输入的平均信号强度指示,从广播中读取的RSSI数据,则是怎么计算出来的呢

显示的是十进制,比如210,先转换为二进制,11010010,由于第一位符号位是1代表负数,所以二进制原码为10101101,就是-45dBm

请问你试验成功了没有,我找了很久都找不到rssi在哪里读取的,

从机直接把RSSI值广播出来就可以了

设置扫描 广播的周期:

GAP_SetParamValue( TGAP_GEN_DISC_SCAN, DEFAULT_SCAN_DURATION );

可以找到参数的定义

#define TGAP_GEN_DISC_SCAN      2       //!< Minimum time to perform scanning, when performing General Discovery proc (mSec)

// Scan duration in ms
#define DEFAULT_SCAN_DURATION 4000

请问这两个参数有什么区别

嗨Yan,为什么这个帖子直接按你说的获取Rssi的值,就不行呢。代码如下

int8 newRSSI = -(pEvent->deviceInfo.rssi);

 LCD_WRITE_STRING_VALUE("RSSI -dB:",(uint8)(newRSSI),10,HAL_LCD_LINE_1);

也不行啊。。。这个RSSI值就是测得广播设备的广播RSSI值的


帖子地址 http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/78284/222958.aspx#222958

同问!

zouzou liang

设置扫描 广播的周期:

GAP_SetParamValue( TGAP_GEN_DISC_SCAN, DEFAULT_SCAN_DURATION );

可以找到参数的定义

#define TGAP_GEN_DISC_SCAN      2       //!< Minimum time to perform scanning, when performing General Discovery proc (mSec)

// Scan duration in ms
#define DEFAULT_SCAN_DURATION 4000

请问这两个参数有什么区别

同问?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top