MicrChip RN2483 Lora模块的独立于平台的嵌入式C库。
注意:目前尚未维护此存储库,并且是针对Lorawan Spec的V1.0编写的。考虑到现在贬值。 Lemme知道您是否想
这是一个嵌入式C库,用于与Microchip RN2483 Lora模块进行交互。它的目的是简单且模块化(足以使其移植到不同的平台上)。
该库的主要功能之一是可移植性。具有任何I/O的嵌入式库永远不可能真正可移植,因此在存储库的单独分支中支持特定的平台。此存储库的主分支是无核心与平台无关的代码。如果您试图在平台上使用它,则单个分支(例如platform/mbit )实际上要使用。
该库重新填充的唯一硬件特定功能是能够通过UART到RN2483模块的R/W。因此,这是由包装器功能来处理的: read write在主分支中,这些简单地填充了#Error,它告诉您在编译中实现它们。
有关添加对特定平台的支持的详细信息,请参见6。添加Platporforms 。
有关特定平台支持的示例,请参见5。支持的平台。
有doxygen文档,只需在主目录中运行doxygen doxycfg,它将生成文档/文件夹。所有的评论都应兼容Doxygen,我试图尽可能彻底,但是我在这里简要概述了它,以易于使用。
该库以标准C(C99)编写,并提供RN2483模块的完整功能。
有一个command函数,允许您将任何有效命令写入模块(有关有效命令,请参见命令参考)
有一个initMAC命令使用rn2483.cfg文件中定义的设置(通过makefile写入config.h )来初始化所有特定于Lorawan特定的设置,您需要成功地连接TOA Lorawan网络。
除此之外,其他值得注意的功能是join (加入网络)和tx (通过连接网络传输数据),这些功能可为您处理Lorawan握手。
注意:我希望将来扩大此图书馆并整理它。
确保检查RN2483.CFG文件以配置Lorawan设置并运行makefile
设置将取决于您的平台,因此请参阅特定平台分支机构的读数。没有INIT功能或设置引脚担心的任何内容 - 这是在read功能中完成的(您实现write ,对于您的用户程序)。
在主分支中,我最初为此提供了printf和getc函数(目的是让用户重新路由stdin和stdout流或用宏重新定义功能),但是在bbc micro:bbc micro:bit的cmake build Process之后,我决定更容易地决定为每个平台修改包装函数。
除了设置外,一般用法还应该进行:
请记住,您可以通过RN2483_COMMAND()函数访问RN2483的任何其他功能
请参阅分支: Platform/Mbit的readme.md。
我试图模块化尽可能多地添加平台所需的更改。这主要是通过RN2483.C中的读/写包装函数完成的,但是如果您查看BBC Micro:BIT Branch,您会发现在某些情况下,您需要更改比此更改(有关详细信息,请参见该分支的README)。
需要更改rn2483.c的功能:
显然,这绝不是这么简单的,因此您可能会遇到一些需要进一步修改的障碍。例如,在平台/MBIT分支中,我必须将指针传递到微生物的串行对象。