微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540 RSSI值计算

CC2540 RSSI值计算

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

static void RssiRead( int8 newRSSI )

 

这个newRSSI 值,怎么换成DB,,应该是负数到0吧。

 

 RSSI value (-127..20dBm), or not available

CC2540DK的做法如下。另外你也可以看看,rssi类型是int8即signed   char范围是-128~127,最高位是符号位。

static void simpleBLECentralRssiCB( uint16 connHandle, int8 rssi )
{
    LCD_WRITE_STRING_VALUE( "RSSI -dB:", (uint8) (-rssi), 10, HAL_LCD_LINE_1 );
}

这个值,越小说明信号越好,还是越大越好,比如-74信号好还是-59信号好呢

我理解是-59好。当然,简单的一个测试就行,你拉近拉远,然后看看是怎么变化的不就清楚了。

我的做法是跟据http://www.deyisupport.com/question_answer/analog/wireless_connectivity/f/45/p/19663/75578.aspx#75578

按这个方法

GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE,sizeof(uint16),&desired_rssi_rate);

这个是设置RSSI的读取速率,默认是0,所以你要设一个非零值,然后如下,就不详细列了,你跟一下GAPROLE_RSSI_READ_RATE应该差不多就明白了。

static void RssiRead( int8 newRSSI ); static void RssiRead( int8 newRSSI ) {   //你的处理 }

// GAP Role Callbacks static gapRolesCBs_t keyFob_PeripheralCBs = {   peripheralStateNotificationCB,  // Profile State Change Callbacks   RssiRead                // When a valid RSSI is read from controller };

 

然后static void RssiRead( int8 newRSSI )  这个newRSSI,的值,在旁边时202,远点195   换成无符号应该是-75   -59。

 

2013年的帖子了,解决了要结贴啊

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

网站地图

Top