当前位置: 首页 >应用方案 >技术应用 >

零基础搭建基于STM32单片机的M系列LoRa模块透传教程一

一、基于STM32单片机控制M系列LoRa模块透传案例简介

本文适用于零基础,手把手搭建基于STM32单片机控制亿佰特公司E22-xxxMxx、E220-xxxMxx、E32-xxxMxx的LoRa模块,旨在降低M系列LoRa模块开发难度,帮助大家更快上手M系列的LoRa模组。

本次教程分为“上篇”和“下篇”,上篇为CubeMX代码文件的生成,下篇为Keil代码的移植。

二、CubeMX生成HEL库代码文件

本文使用的单片机型号为STM32F407VET6,打开CubeMX软件,如果没有这个软件请官网网站进行下载,进入CubeMX界面之后,点击“序号1”新建代码工程。

1 STM32单片机的M系列LoRa模块透传教程

进入软件之后,在“序号1”的框框里面输入自己的STM单片机型号,本文这里使用的是STM32F407VET6单片机,所以输入“STM32F407VET6”,然后选中“序号2”的内容,最后点击“序号3”,开始新工程的搭建。

2 STM32单片机的M系列LoRa模块透传教程

进去芯片配置界面,首先配置SWD烧录口,以便于程序的烧入和Debug调试,点击“System Core”选项卡里面的“序号1”SYS,然后找到“序号2”的选择框,我们选择“Serial Wire”,这样程序烧录引脚就配置好了。

3 STM32单片机的M系列LoRa模块透传教程

还是在“System Core”选项卡里面找到“序号1”RCC,选择单片机的时钟源,点击“序号2”的下拉菜单,选择“Crystall/Ceramic Resonator”晶振,这里只配了高速时钟,如果需要低速时钟的话,可以自己配置下面的选项卡“High Speed Clock(LSE)”。

4 STM32单片机的M系列LoRa模块透传教程

接下来配置LED,用于发送接收时候状态的指示,可以选择不配置。

本文使用到的单片机控制LED的GPIO口是PC13,这里选择你自己的单片机控制LED的IO口引脚就行,本文就以PC13接口作为示例。首先找到并点击“序号1”的PC13芯片引脚,选择“GPIO_Output”,接下来点击“序号3”就会弹出下面的选择框,如“序号4”所示,可以参考“序号4”的配置,这样LED的GPIO口就配置好了。

5 STM32单片机的M系列LoRa模块透传教程

配置DIO1引脚,这是亿佰特M系列LoRa模块特有的可配置通用IO口(详见SX1262芯片手册),不同单片机引脚有些不同,主要是看单片机这个引脚有无“GPIO_EXTI3”。本文是以PA3作为示例,首先点击“序号1”,然后选择“GPIO_EXTI3”,继续点击“序号3”,然后按照“序号4”进行配置。

6 STM32单片机的M系列LoRa模块透传教程

按照上文配置DIO引脚一样配置SPI_CS片选引脚。

7 STM32单片机的M系列LoRa模块透传教程

按照上文配置DIO引脚一样配置RESET引脚。

8 STM32单片机的M系列LoRa模块透传教程

按照上文配置DIO引脚一样配置BUSY引脚。

9 STM32单片机的M系列LoRa模块透传教程

按照上文配置DIO引脚一样配置TXEN引脚。

10 STM32单片机的M系列LoRa模块透传教程

按照上文配置DIO引脚一样配置RXEN引脚。

11 STM32单片机的M系列LoRa模块透传教程

引脚已经配置完毕,现在就在这个界面选择“序号1”NVIC,这里开启EXTI中断使能,勾选上“序号2”,使能其功能。

12 STM32单片机的M系列LoRa模块透传教程

接下来配置SPI通信,选择“序号1”的Connectivity,点击“序号2”的SPI1,然后点击“序号3”的菜单下拉框,选择“Full-Duplex Master”,继续点击“序号4”出现下面的选项框,找到“序号5”,把这个“Prescaler”改成16。这样SPI通信也配置好了。

13 STM32单片机的M系列LoRa模块透传教程

接下里配置USART串口,还是选择“序号1”,点击序号“2”,选择“USART1”,然后点击“序号3”的菜单下拉框,选择“Asynchronous”,然后点击“序号4”弹出选择框,找到“序号5”,把串口波特率改为“9600 Bit/s”,这样串口通信就配置好了。

14 STM32单片机的M系列LoRa模块透传教程

为了实现USART串口中断接收,选择“序号1”,在点击“序号2”的USART1,选择“序号3”的“NVIC Settings”,然后勾选“序号4”,使能串口中断。

15 STM32单片机的M系列LoRa模块透传教程

现在来配置系统时钟树,点击序号1“Clock Configuration”,然后在“序号2”的框中改为8,我们选择的是8MHz的晶振,这里按照自己单片机的实际晶振可做修改,然后点击“序号3”,再点击“序号4”,最后把“序号5”的框中改为72,这里配置的系统时钟频率是72MHz,也可以自己选择配置成自己想要且合理的系统时钟频率。

16 STM32单片机的M系列LoRa模块透传教程

最后来到“Project Manager”,先点击“序号1”,然后在“序号2”的框中为自己的工程文件取名字,我这里取名为“STM_M”,再在“序号3”中选择自己工程文件的存储位置,最后在选择框“序号4”中选择“MDK-ARM”。

17 STM32单片机的M系列LoRa模块透传教程

最后一步,我们选择“序号1”,然后点击“序号2”,这里选项的意思是该工程文件只生成必要的函数库文件,再勾选上“序号3”,最后选择点击“序号4”完成工程代码的生成。

18 STM32单片机的M系列LoRa模块透传教程

今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多LoRa模组产品和LoRa技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!



相关阅读:

1、LoRa模块的选择和使用技巧指南

2、单片机的原理及应用介绍

3、一文看懂IO基础知识和单片机GPIO工作模式简介

4、LoRa模块一对多通信示例教程


点击拨打: 亿佰特官网 4000-330-990