HopeRf RFM98 和 arduino-lmic 库

物联网 阿杜伊诺 罗拉万
2021-06-14 11:14:29

对于 Lora 分析,我正在查看arduino lmic库,此外我查看了 RFM98 Lora 模块上的引脚排列:

在此处输入图片说明

但我无法弄清楚我将如何配置库以使用 MOSI 和 MISO 引脚(据我所知,收到的信息将在 MOSI 引脚中作为串行传递,我将在 MISO 引脚中发送数据)我的意思是该库提供这个配置:

lmic_pinmap lmic_pins = {
    .nss = 6,
    .rxtx = LMIC_UNUSED_PIN,
    .rst = 5,
    .dio = {2, 3, 4},
};

而且我知道这.rxtx可能会映射到 arduino 的引脚上,用于将数据 io 映射到 LOraWan 网络(使用 LoRa 调制),但是哪个先进行,哪个再进行?

我猜配置代码将是:

.rxtx={^somepin^,^anotherpin^}
1个回答

这个接口可能没有像它应该的那样被很好地记录下来。

事实证明,实际的 SPI 数据和时钟引脚(SCK、MOSI 和 MISO)并未在结构体中指定;相反,它们被假定为与硬件 SPI 引擎一致。

在结构中指定的参数仅限于可配置的内容。这包括从选择 (NSS) 和复位引脚。

澄清两点明显的混淆:

  • rxtx:这是射频阶段的发射/接收模式控制,而不是数据引脚

  • dio:这个由 3 个引脚组成的向量代表 5 个 sx127x DIO 引脚中的前三个,它们提供依赖于模式的分立功能。通常出于 LoRa 目的使用 DIO0 和 DIO1,而 DIO2 在某些 FSK 模式中很有用。如果引脚不可用,请将其设置为 LMIC_UNUSED_PIN。

对于此库,数据包缓冲区数据是通过 SPI 总线而不是在离散引脚上写入和读取的。可以将两个 DIO 引脚配置为数据输出和切片器时钟,但此处未使用。

其中一些信息可以从Arduino-LMIC 库README.md收集,但其中一些仅在代码中清楚。阅读 Semtech 数据表也很有用。