关于HW2000芯片RSSI值的读取 无线通信

admin 2021-6-30 812

在接收模式时,芯片会评估天线端接收到的信号能量的大小,该数值会保存在接收信号能量指示寄存器RSSI(0x2D)中。RSSI 的读数单位是dBm,数据的格式为二进制补码形式的有符号数。

推荐在数据包地址相关完成后,即STATUS1 寄存器(0x30)中的PIPE_ADDR_MATCH =‘1’时,应立即以高速的SPI通信读取RSSI 的数值,因该数据会实时更新。

注意:

1. 数据包接收完成后,RSSI寄存器将被清‘0’。
2. 延时后读取RSSI,有可能读出'0'或环境能量。


例如:可以放在接收中断入口处,示例代码如下。

void isr(void) interrupt
{
        if(IRQ == 1)
        {
            _rssi_val = hw2000_read_reg(0x2D);                 //首先读取RSSI数值
            hw2000_read_fifo(0x32, _hw2000_rx_buf, 6);    //将接收数据放到_hw2000_rx_buf

        }

}

最新回复 (0)
返回