易智联LM401 Lora模块Cubemx配置过程

一、单片机选择 :STM32WLE5CBUX

二、Pinout & Configuration设置(引脚和功能设置)

1系统设置:设置SYS:将Timebase Source设置为None.

2时钟设置:

设置RCC:将HSE和LSE都设置为Crystal/Ceramic Resonator(外部晶振),其它默认;

设置RTC:勾选Activate Clock Source和Activate Calendar两项,并将Alarm A 选项设置为Internal Alarm A。之后在下面的Parameter Settings选项卡中将Bin Mode选项设置为Free running Binary mode,将SSRU Underflow Interrupt项设置为Enabled;最后再进入NVIC Settings选项卡,将Enabled列下的两个框框勾上,允许中断请求。

3功能设置(这里仅演示串口1、串口2和Lora通信的设置)

设置串口1:首先在单片机引脚图中将PA9、PA10设置为串口1功能,然后进入Connectivity选项里的USART1设置界面,首先将Mode设置为Asynchronous,然后进入底部的NVIC Settings选项卡,将Enabled列下的框框勾上,允许中断请求,其余默认。

设置串口2:进入Connectivity选项里的USART2设置界面,首先将Mode设置为Asynchronous;然后进入底部的NVIC Settings选项卡,将Enabled列下的框框勾上,允许中断请求;之后进入DAM Settings选项卡,点击Add,再点击Select,选择USART2_TX,允许使用DMA,其余默认。

设置Lora通信:首先点击Connectivity选项里的SUBGHZ设置界面,勾上Activated前的框框,然后进去底部的Parameter Settings选项卡将Baudrate Prescaler Value的值设置为4,然后进入NVIC Settings选项卡,将Enabled列下的框框勾上,允许中断请求,其余默认;然后进入Middleware选项里的SUBGHZ_PHY设置界面,将Enabled前的框框勾上;然后进入底部SubGHz_Phy application选项卡,将Application selection项里的Application 设置为Advanced template;之后将app_subghz_phy项里的将Region设置为Region China freq: 470(主频段)、将LoRa bandwidth设置为2:500 kHz(带宽)、将LoRa spreading factor设置为SF12(灵敏度),将Payload length设置为32(数据长度)(此选项用于设置Lora通信属性,可在H文件中修改);然后进入SubGHz_Phy middleware选项卡,将radio_board_if里的Select radio Driver项设置为Bsp via extSettings;最后进入Platform Settings选项卡,将VCOM项里的USART设置为USART:Asynchronous模式并在右边选择USART2(此选项用于输出系统日志,后期可禁用),再将下面TimerServer项里的RTC设置成RTC:RTC Enabled模式并在右边选择RTC。

  • Clock Configuration设置(时钟设置)

将RTC时钟来源设置成LSE,完成后RTC时钟为32.768K.

  • Project Manager(工程设置)

首先在Project选项卡设置工程名称、存储位置和编译器及其版本;然后在Code Generator选项卡将STM32Cube MCU packages and embedded software packs项设置为Copy only the necessary library files(仅加入使用的库文件)、勾上Generate peripheral initialization as a pair of "'.c/.h files per peripheral前的框框(将每个功能模块分割成不同的文件),其余选项保持默认。

最后点击GENERATE CODE生成工程。

  • 头文件修改、加入宏定义、导入BSP文件夹

1、将BSP文件夹拷贝进工程文件夹根目录中并添加进工程(别忘了增加编译路径)。

2、在main、h文件中增加以下宏定义:

#define RTC_N_PREDIV_S 10

#define RTC_PREDIV_S ((1<

#define RTC_PREDIV_A ((1<<(15-RTC_N_PREDIV_S))-1)

  1. 将platform.h文件的45和46行替换成如下内容(注释可不要)

#include "stm32wlxx_LM401_radio.h"

#include "stm32wlxx_LM401.h"     /* not used by this project*/

  1. 将编译器版本设置成MDK5、勾选Use MicroLIB、将修正等级设置为0、打开ST LINK调试软件复位。

最后编译!

你可能感兴趣的:(stm32,电子硬件,单片机,stm32,嵌入式硬件)