LORA驱动教程
之前写的LORA教程承蒙大家的厚爱,有如此多的收藏。这两天重新整理了一下代码并且已经开源到gitee,欢迎大家免费下载使用并提出意见与建议。
所需器件
器件 | 数量 |
---|---|
ATK-LORA-01 | x2 |
f103c8t6核心板 | x2 |
USB转串口 | x2 |
杜邦线 | 若干 |
面包板 | 可有可无 |
实现功能
下面的
参数配置
和
数据透传
都能直观看出代码的运行效率非常高。
自动参数配置
- 初始化自动配置LORA参数。
- 配置完成后可选查看各参数的当前配置。
-
初始化耗时
600ms
。
串口数据透传
-
通过
串口助手
实现数据透传。 -
数据延迟
<30ms
。 -
传输距离
>3000m
(正点原子数据)
接线表
- 两个节点接线相同。
USB转串口 | f103c8t6 | LORA | 说明 |
---|---|---|---|
5v | 5v | VCC | LORA电压3.3v-5v |
GND | GND | GND | GND |
TXD | A10 | 电脑 –> 32 | |
RXD | A9 | 电脑 <– 32 | |
B11 | TXD | 32 <– LORA | |
B10 | RXD | 32 –> LORA | |
A3(输入) | AUX | AUX = 0:空闲AUX = 1:模块忙 | |
A2(输出) | MD0 | MD0 = 1:AT指令MD0 = 0:通信 |
代码解读
指令集
下面仅列出代码所用到的指令,当要需要使用新指令请在此添加,一目了然。更多请参考正点原子资料。
指令参数
每一个指令后都需要接配置参数以达到
修改配置
的目的。
-
定义结构体管理配置参数。
-
初始化配置参数,具体含义请查看正点原子官方资料。
结构体指针
-
定义
结构体指针,用于连接到具体函数。
-
初始化
结构体指针,将指定函数连接到结构体成员。
-
使用
结构体指针。使用的时候直接复制粘贴
句柄
,想用函数加个
.
后自行选择即可。至于函数的参数,可到初始化的位置跳转到实际实现功能的函数。
串口中断
-
相较于轮询接收,中断接收能确保不丢失数据。
队列接收
-
若
多个数据
到来而单片机正忙,哪怕使用中断接收也会导致数据丢失。因此每一次发生串口接收中断都会将数据保存到
软件fifo
中。
-
当单片机能处理数据时,可将数据从队列中取出来。
资料分享