蓝牙主从机信号强度获取

/*********************************************************************

 * @fn      peripheralRssiCB

 *

 * @brief   RSSI callback.

 *

 * @param   connHandle - connection handle

 * @param   rssi - RSSI

 *

 * @return  none

 */

static void peripheralRssiCB(uint16_t connHandle, int8_t rssi)

{

    PRINT("RSSI -%d dB Conn  %x \n", -rssi, connHandle);

}

这个从机信号强度,得到的是从机自己的强度,还是对方主机的强度?

您好,RSSI是被无线信号接收方收到的那个包的信号强度,是发送方发来的。您这个例子里,是主机给从机发包,RSSI就是从机收到的主机包的信号强度。从机不动,主机靠近,RSSI会变大。



在lwns_multicast_example.c例程里,如何获取对方发来的信号的强度?

//rxBuf[0]为信号强度,rxBuf[1]为本次收到数据的长度---》根据这里打印出来的值,不对,大概的值是210  217


/*********************************************************************

 * @fn      RF_2G4StatusCallBack

 *

 * @brief   RF 状态回调,注意:不可在此函数中直接调用RF接收或者发送API,需要使用事件的方式调用

 *

 * @param   sta     -   状态类型

 * @param   crc     -   crc校验结果

 * @param   rxBuf   -   数据buf指针

 *

 * @return  None.

 */

static void RF_2G4StatusCallBack(uint8_t sta, uint8_t crc, uint8_t *rxBuf)

{ //rxBuf[0]为信号强度,rxBuf[1]为本次收到数据的长度

    switch(sta)

    {

        case RX_MODE_RX_DATA:

        {



您好,数值210~217,要按有符号数输出,是 -46 ~ -39,RSSI单位dbm,在正常范围内。


只有登录才能回复,可以选择微信账号登录