第十四节 Lora

描述

第一节 硬件解读

说明:以下内容为蓝桥杯官方提供的资料,公子只对其进行整理发布:

ZM433/470SX-M 模块是广州致远电子有限公司自主研发的一款工业级射频无线产品。模块采用源自军用战术通信系统的 LoRa 调制技术设计,完美解决了小数据量 在复杂环境中的超远距通信问题。相较传统调制技术, ZM433/470SX-M 模块在抑制同频干扰具有明显优势,解决了传统设计方案无法同时兼顾距离、抗扰和功耗的弊端。另外,芯片集成了+20dBm的可调功率放大器,可获得超过-148dBm 的接收灵敏度,链路预算达到了行业领先水平,针对应用于远距离传输且对可靠性要求极高的场合,该方案是不二之选。

而蓝桥杯物联网的开发板板载的Lord原理图如下:

模块

从图中可以看出,该Lora是采用SPI的方式。有人问,为什么还有USART?因为串口的2个引脚是支持编程的。这从官方提供的手册中可以看出。

第二节 环境配置

本次例程还是在OLED的例程上修改,修改的唯一一处是勾选Debug,其他的配置不需要修改。

第三节 编写代码

1,打开官方提供的赛点资源包,直接打开LoRa_STM32L0_API这个文件夹,如下图:

模块

2,将文件夹中的.c文件复值并添加到STM32CubeMX生成的项目的Src这个文件夹中,如下图:

模块

3,将文件夹中的.h文件复值并添加到STM32CubeMX生成的项目的Inc这个文件夹中,如下图:

 

模块

4,打开项目,对项目进行编译,会提示0错错误,0警告。

5,对项目添加.h文件,选择文件的时候要选择Inc这个文件夹。如下图:

模块

6,对项目添加.c文件,选择文件的时候要选择Src这个文件夹下所有的.c文件。如下图:

模块

7,我们选中spi.c文件,修改如下两处,原因是蓝桥杯官方提供是LL库,我们学习的是HAL库。具体改动如下:

模块

模块

模块

8,将Lora.c文件全部注释掉。

模块

9,同样的道理,由于蓝桥杯官方提供是LL库,我们学习的是HAL库。所以需要改动三处,具体改动如下:

模块

模块

模块

10,最后,所有的底层都搞好了,开始编写顶层函数。

11,项目需要的头文件,变量,宏定义如下图:

模块

12,还是需要初始化OLED,具体函数如下:

模块

13,所有函数的初始化,局部变量,如下图:

模块

14,while里面的函数如下图:

模块

模块

15,编译代码,配置下载器并开始下载。

第四节 实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板USB1口连接。

3,CN4所有拨码开关必须选择ON DP档,否则无法下载程序。

实验现象:

LD1,LD4常亮。按下按键,OLED第一行显示“TX:11”,此时另外一块开发板的OLED第二行显示“OLED:ON”,并且LD5常亮;再次按下按键,OLED第一行显示“TX:10”,此时另外一块开发板的OLED第二行显示“OLED:OFF”,并且LD5常灭。

宗旨:

免费的服务,永远的开源

说明:

1.本教程免费,开源,禁止用于任何商业用途,违者必究。

2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。

3.资料下载请通过以下方式:

微信公众号:撞上电子

CSDN:撞上电子

掘金:撞上电子

今日头条:撞上电子

淘宝企业店:撞上电子

 

--东莞市东城墨竹公子电子工作室

--墨竹公子

--2021.12.25

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分