正点原子Lora无线串口的透明传输点对点通信及其注意事项

本文介绍了LoRa作为无线串口的工作原理和透明传输模式,强调了在该模式下必须一对一通信,不能全双工操作。作者通过ESP32与电脑的实验验证了这一特性,并分享了接收代码和配置注意事项。
该文章已生成可运行项目,

认识

首先,必须认识lora就是一个串口,不过它是无线的,这就是其特别之处,可以远距离1km内的无线通信。

根据正点原子上的教程,它有好几种方式,不过正点原子那种把配置写在代码里确实复杂化了,当然,这样可以动态进行更改,因为都能无线通信了,那么无线烧录应该也不是什么问题吧?可惜只怕数据丢失,lora本身内部是存在一个FIFO来存数据。为了简单化,我还是先全部配置后再直接当做串口使用。

工作模式——透明传输点对点

 这就意味着发什么数据,另一个lora模块就接受什么数据。

注意:这种模式模块地址,网络地址,信道,空中速率相同。

于是干脆就完全相同吧

两个lora相同配置

 另外注意 VCC和MD0在配置的时候都接3.3v。工作模式下 MD0悬空。接5v电压过大会烧掉lora模块。

实验

esp32简单发数据给电脑 (esp32和电脑分别连lora,MD0悬

本文章已经生成可运行项目
正点原子LoRa 无线模块STM32F103C8T6 单片机之间的连接主要依赖于串口通信方式。以下是详细的连接方法和配置要点: ### 3.1 硬件连接方式 LoRa 模块通常通过串口STM32F103C8T6 进行通信。常见的连接方式如下: - **LoRa 模块 TX 引脚 → STM32F103C8T6 RX 引脚** LoRa 模块发送的数据通过该引脚传送到 STM32F103C8T6 的接收端。 - **LoRa 模块 RX 引脚 → STM32F103C8T6 TX 引脚** STM32F103C8T6 通过该引脚向 LoRa 模块发送控制指令或数据。 - **LoRa 模块 GND 引脚 → STM32F103C8T6 GND 引脚** 共地,确保电平一致。 - **LoRa 模块 VCC 引脚 → 3.3V 电源** LoRa 模块通常工作在 3.3V 电压下,需确保供电稳定。 如果使用的是 SPI 接口的 LoRa 模块,则需要连接以下引脚: - **MOSI、MISO、SCK、NSS** 这些引脚分别连接到 STM32F103C8T6 的 SPI 接口对应引脚,用于高速数据传输和配置控制 [^1]。 ### 3.2 串口通信配置 STM32F103C8T6串口通信通常使用 USART1 或 USART2,波特率一般设置为 **9600、115200** 等标准值,具体取决于 LoRa 模块的默认波特率。 在使用 HAL 库开发时,可以使用以下代码初始化串口: ```c UART_HandleTypeDef huart1; void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { // 初始化错误处理 } } ``` ### 3.3 LoRa 模块透明传输与定向传输 正点原子LoRa 模块默认使用 **透明传输模式**,即模块之间自动转发数据,无需额外配置。若需要实现 **定向传输**,则需要修改 `lora.c` 文件中的相关配置参数,例如设置目标地址、信道等 [^2]。 ### 3.4 注意事项 - **接收与发送函数不能同时烧录**:LoRa 模块的接收和发送功能不能同时启用,否则会导致冲突。可以使用按键控制发送时机,未按下时保持接收状态,按下后发送数据 [^4]。 - **调试接口配置**:如果使用 ST-Link 或 J-Link 进行调试,需要将 `SYS → Debug → Serial Wire` 启用,否则可能无法正常下载程序 [^3]。 - **BOOT0 引脚设置**:在烧写程序时需将 BOOT0 接到 1 端,烧写完成后应将其恢复为 0,否则可能无法正常运行程序 [^2]。 ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值