正点原子LoRa模块的使用

所用单片机为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 函数配置下次触发的边沿中断,再继续实现一次发送或接收。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正点原子LORA模块是一种无线通信模块,主要用于远距离低功耗通信。下面是正点原子LORA模块使用步骤: 1. 硬件连接:将LORA模块通过杜邦线连接到开发板或者其他控制器上。通常需要连接VCC、GND、TXD、RXD等引脚。 2. 编程设置:在程序中引入LORA模块的库文件,然后通过编程进行设置。首先,需要设置LORA模式为接收模式或发送模式。通过设置工作频率、信道、传输速率等参数,以满足通信需求。根据具体情况,还可以设置接收或发送缓冲区的大小。 3. 发送数据:在发送模式下,将要发送的数据写入发送缓冲区,然后调用相应的发送函数将数据发送出去。在发送完成后可以等待接收确认信号或者直接发送下一条数据。 4. 接收数据:在接收模式下,LORA模块会不断监听信道上的数据。当接收到数据时,将数据读取到接收缓冲区中。然后,可以对接收到的数据进行处理,比如解析数据包、进行数据验证等操作。 5. 错误处理:在使用LORA模块时,需要注意错误的处理。比如,当发送数据失败时,可以根据错误码进行错误处理,比如重新发送数据或者进行其他操作。 需要注意的是,LORA模块使用还需要根据具体的开发板或者控制器进行适配和调试。通常情况下,还需要了解LORA模块的具体功能和操作说明,以便更好地使用和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值