正点原子LoRa模块的使用

这篇具有很好参考价值的文章主要介绍了正点原子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 函数配置下次触发的边沿中断,再继续实现一次发送或接收。文章来源地址https://www.toymoban.com/news/detail-473678.html

到了这里,关于正点原子LoRa模块的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机使用TM1638驱动的数码管键盘模块

    前几天差不多把清翔的视频教程写完了,然后玩了两天,这次准备把以前买的TM1638芯片驱动的数码管按键模块用在51单片机上。 这个模块我在pdd上买的,用了2块的优惠券后付款7元包邮,价格还行吧,对比了下这个价格几乎就是最低价了。TM1638芯片都要1块多,再加上PCB,焊接

    2024年02月03日
    浏览(82)
  • 蓝桥杯单片机之AT24C02模块的使用

    EEPROM EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种 掉电后数据不丢失 的存储芯片。 可以参考ROM、PROM、EPROM、EEPROM、Flash ROM的区别 AT24C02 AT24C02 提供2048 位串行电可擦除可编程只读存储器(EEPROM ),内部有256个字,每个字8位,即2k Bit。通过

    2023年04月20日
    浏览(41)
  • 【上位机与下位机通信】使用WIFI模块ESP8266连接单片机与上位机通信

    承接上文WIFI上位机部分:【上位机】通过WIFI上位机与网络调试助手通信绘制曲线,现阶段实现了STM32单片机与ESP8266WIFI模块作为下位机与WIFI上位机通信。 ATK-ESP8266 是 ALIENTEK 推出的一款高性能的 UART-WiFi(串口-无线)模块,此处使用的是正点原子团队自主开发的ATK-ESP-01模块。

    2024年02月05日
    浏览(99)
  • 【STM32单片机】基于语音识别的智能分类垃圾桶,ld3320语音识别模块如何使用,mp3播放模块如何使用

    对于“可回收物”“有害垃圾”“厨余垃圾”“其它垃圾”,不能分清扔到哪个垃圾桶怎么办? 基于语音识别的智能分类垃圾桶,识别到就打开对应的垃圾桶,完全没有分不清的烦恼。 //可回收物:塑料瓶、玻璃瓶、铝罐、纸张、纸板、报纸、纸质包装盒、金属罐头等

    2024年02月10日
    浏览(39)
  • HC-05(ZS-040)蓝牙模块使用详情(蓝牙模块配置、手机蓝牙控制单片机、蓝牙与蓝牙之间的通信)含51、32程序

    HC-05是一款主从一体化的蓝牙模块,因此其使用起来比较方便,只需要进行简单的配置即可。 本文就 手把手的介绍小白入手模块后如何使用 。 对于模块使用:1、蓝牙配置→2、手机与蓝牙的传输→3、手机通过蓝牙模块控制单片机→4、一对蓝牙之间主—从传输数据,这是一个

    2023年04月09日
    浏览(101)
  • 手把手教你使用--常用模块--HC05蓝牙模块,无线蓝牙串口透传模块,(实例:手机蓝牙控制STM32单片机点亮LED灯)

    最近在学STM32,基本的学完了,想学几个模块来巩固一下知识,就想到了蓝牙模块。玩啥好难过有很多博客教怎么连的,但自己看起来还是有点糊涂。模块的原理和知识点我就不讲解了,这里我主要 手把手 记录一下我是如何对蓝牙模块进行学习和使用的。 所使用的资料和工

    2024年02月02日
    浏览(56)
  • 单片机——矩阵按键模块

    主要目的 学会按键扫描 1.延时函数 延时函数部分详见链接: 单片机控制一盏灯的亮与灭程序解释 这个程序里面的延时函数的目的是按键消抖。 2.按键扫描模块 这是本次实验的重点,将详细介绍。 先来观察矩阵按键模块的连接 总共8个口。 先实现关于列的扫描,设置初始值(

    2024年02月08日
    浏览(28)
  • 51单片机(ESP8266模块)

    蓝牙,ESP-01s,Zigbee, NB-Iot等通信模块都是基于AT指令的设计 AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。 其对所传输的数据包大小有定义:即对于

    2024年02月06日
    浏览(23)
  • 单片机处理GPS模块信息

    1.GPS信息获取(串口中断执行) 2.由经纬度计算两点距离 理论说明 已知两点经纬度计算距离的具体例子球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径

    2024年01月22日
    浏览(25)
  • 51单片机——LCD1602模块

    一.LCD1602介绍 1.LCD1602 (Liquid Crystal Display )液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符。 2.显示容量:16x2个字符,每个字符为5*7点阵。 二.LCD1602接口介绍 引脚 功能 VSS 接地 VDD 电源正极(4.5v-5.5v) VO 对

    2024年02月07日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包