Lora模块与stm32的连接使用(hal)

您所在的位置:网站首页 lora通信模块与手机app Lora模块与stm32的连接使用(hal)

Lora模块与stm32的连接使用(hal)

2024-07-13 12:55| 来源: 网络整理| 查看: 265

stm32与loar模块的连接与使用(HAL) 准备: 1.stm32f103c8t6单片机 2.两个Lora模块 3.usb转ttl 4.st-link Lora模块

Lora模块是一种用于无线通信的设备,它基于LoRa(低功耗广域网)技术。LoRa技术是一种长距离、低功耗的无线通信技术,适用于物联网(IoT)应用。 Lora模块能够实现超过数公里的通信距离,这使得它适用于需要远距离传输数据的应用场景。城镇可达2-5km,郊区可达15km。 Lora模块采用低功耗设计,在传输数据时能够最大限度地减少能量消耗,因此可以延长电池寿命,适用于需要长时间离线工作的设备。 在这里插入图片描述

简单来说就是无线的串口,vcc,GND接电,RXD和TXD用作收发,M0,lock和AUX与配置相关 在这里插入图片描述 根据上表,M0接地(此时是不使用M0,也可以正常收发),LOCK一定要接高电压,接错了数据不同步,收发会出现问题,AUX可以直接悬空就好。 在这里插入图片描述 M0低电平就是传输,M0高电平是配置模式,可通过相关的软件去进行配置。

Lora模块的默认波特率是9600,我认为再与单片机相连前先只用两个Lora模块之间进行通信这样最好,出现问题,可以用AT指令去配置相关的信息。同时还要防止多个Lora模块之间可能会造成干扰,如果附近有人在使用Lora的话,可以把通信信道和模块地址修改一下。

cubemx配置

在这里插入图片描述

在这里插入图片描述

3.串口1作为收信息,并把波特率设为9600.

在这里插入图片描述

4.串口3作为为发送信息,波特率设为9600.

在这里插入图片描述

这里是用一个单片机作为示例来演示以下,正常在使用过程中可能需要两块单片机,需要自己在进行相关的配置。

5.时钟配置

在这里插入图片描述

6.起名并更改IDE,而且我更习惯把.c文件和.h文件分开,大家可以自我更改。

在这里插入图片描述

代码 #include "main.h" #include "usart.h" #include "gpio.h" #include "stdio.h" #include "math.h" #include "string.h" void LORA_SendData(uint8_t* data, uint16_t size) { // 发送数据到LORA模块 HAL_UART_Transmit(&huart3, data, size, 1000); } void LORA_ReceiveData(uint8_t* buffer, uint16_t size) { // 从LORA模块接收数据 HAL_UART_Receive(&huart1, buffer, size, 1000); } uint8_t sendData[] = "Hello, LORA!"; uint8_t receiveData[32]; while(1) { // 发送数据 LORA_SendData(sendData, sizeof(sendData)); // 接收数据 LORA_ReceiveData(receiveData, sizeof(receiveData)); }

如果有错误,欢迎大家指正。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3