正点原子LoRa模块的使用
迪丽瓦拉
2025-06-01 11:34:44
0
所用单片机为STM32F407,此篇为当时做电赛时未记录,但是现在忘了所以重新记录一下,防止自己忘记。总的来说就是用串口给LoRa模块发送AT指令来配置模块,然后单片机想要发数据也是使用串口发送出去。

1、引脚连接

  1. MD0引脚配置为推挽输出模式,并配置为下拉,AUX引脚配置为输入模式,并配置为下拉

(MD0、AUX 引脚悬空下为低电平)

(模块根据MD0 的配置与AUX 引脚的状态会进入不同的功能)

  1. TXD、RXD与单片机的uart3的RXD以及TXD分别连接

  1. GND、VCC即连在单片机上

(无线串口模块为TTL 电平,请与TTL 电平的MCU 进行连接)

(模块的引脚电平是3.3V,与5V 的单片机通信需要做电平转换适配)

2、LoRa整体函数流程

LoRa_Init()函数,初始化函数

上电后,AUX 空闲状态(即AUX=0),MD0=1,进入配置模式

使用AT指令测试模块响应情况

LoRa_Set(),LoRa配置

usart3_set():设置uart3的波特率、校验位(进入配置前首先要设置通道波特率和校验位115200 8位数据位 1位停止 无校验位)

同样的,等待AUX 空闲状态(即AUX=0),然后MD0=1,进入配置模式

使用AT指令设置设备地址、信道和空中速率、发射功率、工作模式、发送状态、睡眠时间、串口波特率、数据校验位(此处为填充LoRA的各种参数的结构体,并没有直接写入)

然后再使用usart3_set()写入波特率和校验位

while循环内

LoRa_SendData():使用按键来选择发送数据

根据前面结构体中填充的数据来判断是什么模式,本人在此用的是透明传输模式,无需设置目标信道的地址等、若需要使用定向传输模式,需要设置目标的地址、目标的信道。

LoRa_ReceData():接收从机发送的数据

接收从机发送的数据,判断为哪个传感器发送的数据,然后发送数据给DTU,DTU去上传数据给阿里云物模型,DTU使用的是uart2(具体有关DTU部分请看本人空间内有关DTU的文章)

3、中断函数

Aux_int 中断设置函数,该函数用于配置MCU 外部中断触发方式。

它可用于获取Aux 引脚的中断情况,若MCU 要接收模块发送的数据,则可配置上升沿触发,以提示数据要来了,MCU 请做好准备。当MCU 想知道模块的数据是否已全部发送给MCU,则可配置下降沿中断,提示数据已经接收完了。

EXTI9_5_IRQHandler()中断服务函数,在函数中可以看到,当是上升沿中断触发,先判断是否为接收模式,是则将串口接收数据计数清零,然后设置下降沿触发,以表示模块开始发送数据或开始输出数据。当下次下降沿中断来临,若是接收模式模式则标记串口接收数据已接收完成,若当前是发送模式状态的话,则知道数据已发送完毕,重新标记为接收模式,然后再调用Aux_Int 函数配置下次触发的边沿中断,再继续实现一次发送或接收。

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...