0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ZM4xxSX-M系列LoRa射频模块的驱动代码移植关键步骤

AGk5_ZLG_zhiyua 来源:致远电子 作者:致远电子 2020-09-02 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

致远电子LoRa模块其凭借着稳定的性能,深受广大用户的信任与好评。但在使用过程中其驱动代码的移植一直是一个重点和难点。本文将简单介绍一下致远官方驱动代码的移植关键步骤。

LoRa模块凭借其优异的射频性能和稳定性,被广泛应用于各类物联网应用中,本文将为大家介绍致远电子官方驱动代码的移植关键步骤,适用于ZM4xxSX-M系列LoRa射频模块。

为了加快用户LoRa产品的开发进度,致远电子已经实现了其底层驱动。用户移植驱动代码后,只需要专注于自己的产品功能开发即可。致远电子官方LoRa驱动代码链接如下,用户可免费下载!

在介绍驱动代码的移植之前先简单说一下驱动的目录结构:

LoRa驱动代码目录结构

在该驱动例程中,前三个文件夹:startup、core、soc与具体用户的MCU相关,不用移植。Demo文件夹下面放的是致远电子提供的例程代码,用户可以选择性移植。User_code文件夹下存放用户的应用程序,可以不用移植。真正且必须移植的是radio和sx127x这两个文件夹下面的代码,这两个文件夹下包含的是驱动和配置代码。

在移植代码之前需要注意:

1、确认 MCU 与 ZM4xx 模块相连的引脚可配置为上下拉模式的,有客户在使用过程中出现复位或 SPI片选引脚输出高电平时电平只有 2.0V,从而导致模块复位异常或 SPI 通信不正常。原因是该 MCU 引脚无上下拉模式,需要靠外部接上拉电阻才能把电平拉高。

2、客户在移植驱动时,除非是编译问题,否则不能修改 sx127x.c 里面的内容,也不能把spi 函数写在 sx127x.c 里面,我们只需要用户从 sx127x_radio_lora_cfg.c 文件将 spi 函数传入即可。

  驱动代码的移植

驱动移植

  文件的修改

用户只需要修改sx127x_radio_lora_cfg.c文件内容即可。首先用户需要提供以下函数:

1、准备SPI驱动

ZM4xxSX-M系列的LoRa模组都是使用SPI接口通信,用户仅需要提供SPI读字节和写字节的函数即可。其用户MCU主机SPI特性如下;

SPI主机采用模式0,CPOL=0和CPHA=0;

全双工通信;

数据长度8位,MSB通信;

SPI速度需要小于10M。

用户SPI操作函数

注意:用户无需在SPI读写函数内部操作CS片选引脚,函数内部只需要单纯发送或接收一个字节的数据即可。

2、准备GPIO操作驱动

模块除了SPI的SCK、MISO、MOSI引脚之外,还有片选引脚和复位引脚,驱动中需要对这两个引脚进行操作,因此需要用户提供这两个引脚的GPIO操作函数:设置引脚电平函数(RESET和CS引脚初始化时需要设置为上拉输出高电平)。

GPIO操作驱动

3、提供延时函数

ZM4xxSX-M内部读写寄存器有一定的时序要求,所以需要用户提供延时函数。包括微秒延时和毫秒延时两个函数。注意必须是精准的延时,不能是软件循环延时,因为需要驱动有发送超时,如果延时不精准容易到时发送失败。

延时函数

准备好上述函数后,用户需要将这些函数注册到驱动里面。sx127x_radio_loar_cfg.c文件提供了一个模板,如图所示。用户只需要将上述说的三种函数对应替换成自己的函数即可,其他地方不必修改。

  移植完成后验证

当用户完成上述两个大步骤之后,用户需要在模块初始化之前自行完成SPI、GPIO和延时功能的初始化。然后参考致远官方例程中的main()函数中的内容,进行验证自己移植的程序是否可以正常工作。

如果无线模块初始化函数:radio_zm4xx_inst_init()返回值!=0,则说明初始化成功,SPI通信没问题。然后可以参考致远电子提供的无线收发demo程序:demo_zm4xx_entry(handle),如果模块能够正常通信说明该LoRa的驱动代码到此移植成功!

致远ZM470SX-M LoRa模组

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

    关注

    5

    文章

    98

    浏览量

    20427
  • GPIO
    +关注

    关注

    16

    文章

    1313

    浏览量

    55722
  • 致远电子
    +关注

    关注

    13

    文章

    421

    浏览量

    32375
  • LoRa
    +关注

    关注

    354

    文章

    1853

    浏览量

    237195

原文标题:还不会用LoRa模块?看这一篇就够了!

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ZM68S:低功耗高性能的LoRa无线通信模组

    想要一款既能远距离通信又低功耗的设备?ZM68S或许就是你的答案。接下来,让我们一起探索它的独特优势和广泛应用。低成本LoRa射频模组ZM68SZM68S是由ZLG致远电子开发的一款高
    的头像 发表于 10-27 11:36 343次阅读
    <b class='flag-5'>ZM</b>68S:低功耗高性能的<b class='flag-5'>LoRa</b>无线通信模组

    CW32L01x系列MCU驱动TFT屏的应用方案

    CW32L01x系列MCU应用广泛,本文将详细介绍CW32L01x系列MCU驱动TFT屏的应用方案。我们以CW32L010系列MCU为例来介绍一下硬件连接要点和软件
    的头像 发表于 10-14 10:18 838次阅读
    CW32L01x<b class='flag-5'>系列</b>MCU<b class='flag-5'>驱动</b>TFT屏的应用方案

    地物光谱应用实用指南:提升精准监测的5大关键步骤

    。这一趋势引发了大量用户对如何有效应用地物光谱技术的关注。大家普遍想知道:怎样才能最大限度地利用这一技术进行精准监测?本文将为您介绍5大关键步骤,让您在地物光谱应用中脱颖而出。 1. 理解地物光谱的基本定义与原理 地物
    的头像 发表于 10-13 14:29 199次阅读

    机智云配网教程第三期:单片机代码移植实战

    :stm32f103c8t6,WiFi模块:ESP-01s,下载器:ST-LINK2.软件:keil5的工程文件模板,mcu代码代码资源:未移植
    的头像 发表于 07-01 17:32 947次阅读
    机智云配网教程第三期:单片机<b class='flag-5'>代码</b><b class='flag-5'>移植</b>实战

    普源示波器DHO800系列电源噪声测试的5个关键步骤

    实践经验和设备特性,详细阐述使用DHO800系列进行电源噪声测试的五个关键步骤,帮助用户规范操作流程,提升测试结果的准确性和可靠性。   一、探头选择与接地优化:奠定测试基础 探头性能直接影响噪声测试的精度。在进行电源噪声测试时
    的头像 发表于 06-24 12:08 445次阅读
    普源示波器DHO800<b class='flag-5'>系列</b>电源噪声测试的5个<b class='flag-5'>关键步骤</b>

    普源示波器DHO5108电源噪声测试的5个关键步骤

    ,详细阐述使用DHO5108进行电源噪声测试的五个关键步骤,帮助用户规范操作流程,提升测试结果的准确性和可靠性。   一、探头选择与接地优化:奠定测试基础 电源噪声测试的第一步是选择合适的探头并优化接地,这是确保测量精度的基础。
    的头像 发表于 06-20 13:44 476次阅读
    普源示波器DHO5108电源噪声测试的5个<b class='flag-5'>关键步骤</b>

    STM32与机智云连接实现步骤与技巧(下篇):机智云代码移植与优化

    在《STM32与机智云连接实现步骤与技巧(上篇)》中,我们介绍了硬件连接和通信协议配置。本篇将重点讲解如何将机智云相关代码移植到STM32,完成数据上传和设备控制。我们将介绍如何在STM32中配置
    的头像 发表于 05-23 18:10 800次阅读
    STM32与机智云连接实现<b class='flag-5'>步骤</b>与技巧(下篇):机智云<b class='flag-5'>代码</b><b class='flag-5'>移植</b>与优化

    LoRa模组上新!LoRa MESH组网和无线串口模块,远距离,抗干扰!

    新品上市LoRaMESH模组LoRa无线串口模块部分新品参与送样文末了解详情↓↓↓EWM528系列LoRaMESH模组EWM528-2G4NW20SX/27SX是一款基于
    的头像 发表于 05-08 19:33 826次阅读
    <b class='flag-5'>LoRa</b>模组上新!<b class='flag-5'>LoRa</b> MESH组网和无线串口<b class='flag-5'>模块</b>,远距离,抗干扰!

    LORA模拟量单向对传模块

    的通信距离与更强的穿透能力,从而在复杂的无线电环境中实现稳定通信。 一、工作原理 LORA模拟量单向对传模块的工作原理可以分为信号采集、信号处理、信号传输三个主要步骤。 1. 信号采集:模块
    的头像 发表于 04-14 16:27 515次阅读

    新品推荐!国产LoRa扩频模块、WiFi+蓝牙双模模组、低功耗蓝牙转串口模块

    新品上市国产LoRa扩频模块蓝牙转串口模块WiFi+蓝牙双模模组部分新品参与送样文末了解详情↓↓↓EWM290-M系列国产
    的头像 发表于 03-27 19:33 1194次阅读
    新品推荐!国产<b class='flag-5'>LoRa</b>扩频<b class='flag-5'>模块</b>、WiFi+蓝牙双模模组、低功耗蓝牙转串口<b class='flag-5'>模块</b>

    零基础搭建基于STM32的M系列LoRa模块透传例程(上)

    介绍本文适用于零基础,手把手教你搭建基于STM32单片机控制亿佰特E22-M系列、E220-M系列和E32-M
    的头像 发表于 03-20 19:33 657次阅读
    零基础搭建基于STM32的<b class='flag-5'>M</b><b class='flag-5'>系列</b><b class='flag-5'>LoRa</b><b class='flag-5'>模块</b>透传例程(上)

    EWM528-2G4NW20SX系列LORA MESH无线组网模块深度测评

    EWM528-2G4NW20SX、EWM528-2G4NW27SX系列LORA MESH无线组网模块基于先进的无线通信技术打造。在输出功率方
    的头像 发表于 03-17 11:53 668次阅读
    EWM528-2G<b class='flag-5'>4</b>NW20SX<b class='flag-5'>系列</b><b class='flag-5'>LORA</b> MESH无线组网<b class='flag-5'>模块</b>深度测评

    模组上新!双频GNSS定位模组、RS485接口LoRa模块、ChirpIoT扩频模块

    EWM290-400RxxD系列RS485接口国产LoRa模块EWM290-400RxxD系列模块是亿佰特基于磐启微PAN3060
    的头像 发表于 03-06 19:32 919次阅读
    模组上新!双频GNSS定位模组、RS485接口<b class='flag-5'>LoRa</b><b class='flag-5'>模块</b>、ChirpIoT扩频<b class='flag-5'>模块</b>

    摄像机EMC电磁兼容性测试整改:影像设备关键步骤

    深圳南柯电子|摄像机EMC电磁兼容性测试整改:影像设备关键步骤
    的头像 发表于 03-05 10:55 833次阅读
    摄像机EMC电磁兼容性测试整改:影像设备<b class='flag-5'>关键步骤</b>

    EMC电机控制器测试整改:确保产品可靠性关键步骤

    深圳南柯电子|EMC电机控制器测试整改:确保产品可靠性关键步骤
    的头像 发表于 01-13 14:25 1258次阅读
    EMC电机控制器测试整改:确保产品可靠性<b class='flag-5'>关键步骤</b>