确定nRF24L01中的信号强度

时间:2017-12-26 11:11:50

标签: arduino

我了解到nRF24L01的Tmrh20 library为我们打印了#34;强信号"如果某个阈值通过并且“弱信号”#34;如果没有。

bool goodSignal = radio.testRPD();
if(radio.available()){
Serial.println(goodSignal ? "Strong signal > 64dBm : "Weak signal < 64dBm");
radio.read(0,0);

这意味着我们实际上能够确定信号强度,例如-40dBm,以便进行这种比较。所以我需要这个价值。 有什么方法可以获得这个价值?

1 个答案:

答案 0 :(得分:0)

不,不是直接的。

在Nrf24L01规范的原始版本中,寄存器09中有一个标记为RD的位。如果输入信号大于-64dB,则该位触发,否则清零。在规范的第2版中,他们将名称更改为载波检测。它具有相同的阈值,但建议将设备拉入接收模式并检查该位。 简而言之,您可以从RD / CD位(寄存器09)和寄存器08中收集一些信息,其中包含丢失的数据包数和重新传输的数量。