Advertisement

物联网低功耗广域网LoRa开发(二):LoRa开发环境搭建及驱动移植

阅读量:

一、STM32CubeMX加载固件库

将F0固件库添加进来

在这里插入图片描述

二、IAR介绍、安装及快捷操作

(一)IAR介绍

1、简介

在这里插入图片描述
复制代码
    ·C/C++编译器和调试器
    ·集成开发环境(IDE)
    ·实时操作系统和中间件
    ·开发套件
    ·硬件仿真器以及状态机建模工具
    
    
    c

2、IAR与Keil对比

复制代码
    ·MDK默认只创建工程,工作区是不会直接创建。如果想多个工程聚合,则首先需要创建一个工作区,然后再添加相应的工程。  
    ·IAR默认是创建工程和工作区,如果想多个工程并存,直接添加即可。
    ·MDK编译时,只有level的选择;IAR有debug和Release的快速选择。
    ·默认状态,MDK的工具栏功能比较多,有点繁杂;IAM的比较简洁,但相对,也比较单薄。
    ·MDK的程序文件,最后必须要有一个新的空行,否则会有编译警告。
    
    
    c

(二)IAR安装

复制代码
    通过百度网盘分享的文件:IAR-ARM 7.80.zip
    链接:https://pan.baidu.com/s/1mJdwIhej1dZdBRQtU_VYng?pwd=vwqc 
    提取码:vwqc
    
    
    c
在这里插入图片描述

(三)IAR快捷操作

复制代码
    CTRL+B 括号匹配 选择括号内的多行代码; 
    CTRL+T 自动缩进,格式化选中代码 
    CTRL+K 快注释,屏蔽选中的代码
    CTRL+SHIFT+K 取消快注释,取消屏蔽选中的代码
    
    
    c

三、M0工程建立

(一)IO端口配置

请添加图片描述
复制代码
    看懂原理图
    建立IO功能映射表
    通过STM32Cubemx配置IO工作模式
    
    
    c

(二)时钟配置

在这里插入图片描述
复制代码
    选择时钟源
    配置倍频
    使能锁相环配置系统主时钟为48M
    
    
    c

(三)外设配置

1、USART

在这里插入图片描述
复制代码
    选择异步通信
    无硬件流控
    设置波特率115200
    设置DMA接收
    
    
    c

2、SPI

在这里插入图片描述
复制代码
    选择全双工主机模式
    硬件片选不使能
    设置波特率为1.5MBit/s
    时钟极性为低电平驱动
    时钟相位为第一个边沿
    
    
    c

(四)Printf函数重定向

复制代码
    #include <stdio.h>
    int fputc(int ch, FILE *f) 
    {
    	while((USART1->ISR & 0X40)==0);
    	USART1->TDR = (uint8_t)ch;
    	return ch;
    }
    
    
    c

四、LoRa驱动源码分析

(一)驱动源码文件说明

1、驱动源码文件结构

在这里插入图片描述

2、SRC目录

在这里插入图片描述

3、 Platform目录

在这里插入图片描述
复制代码
    ·包含几个不同的硬件平台的源码
    ·sx12xxEiger是操作 LoRa 芯片相关的接口platform.h 中包含驱动库的配置选项
    
    
    c

4、Radio目录说明

在这里插入图片描述
复制代码
    ·包含几个不同的硬件平台的源码
    ·只需要关心Sx1276相关源码即可
    
    
    c

5、驱动框架

在这里插入图片描述

(二)硬件抽象层分析

1、硬件接口设计

在这里插入图片描述
复制代码
    ·数字IO
    ·SPI串行总线
    ·硬件复位
    
    
    c

2、硬件接口函数

在这里插入图片描述
在这里插入图片描述

五、LoRa驱动移植

(一)驱动文件移植

在这里插入图片描述
复制代码
    复制粘贴一份M0Project,改名为LoRa。
    在其目录下新建一个Sx1278文件。
    将sx12xxdrivers-v2.1.0/src文件下的radio、platform复制到LoRa/Sx1278下。
    
    
    c

(二)IAR工程文件添加

在这里插入图片描述
复制代码
    在IAR Embedded Workbench软件中的工程下添加.c文件
    
    
    c

(三)驱动源码修改 !!重点难点,反复看

1、修改硬件平台

在这里插入图片描述
在这里插入图片描述

2、修改包涵路径

在这里插入图片描述

3、修改sx12xxEiger.c

在这里插入图片描述

4、修改led.c

在这里插入图片描述
在这里插入图片描述

5、修改sx1276-Hal.c

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、修改spi.c

在这里插入图片描述

7、修改sx1276-Hal.h

在这里插入图片描述

(四)LoRa模块上电自检

在这里插入图片描述
复制代码
    上电通过SPI总线读取芯片版本
    判断读取值是否为0x12,并打印模块版本号
    
    
    c

全部评论 (0)

还没有任何评论哟~