赞
踩
第一节 硬件解读
说明:以下内容为蓝桥杯官方提供的资料,公子只对其进行整理发布:
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。