• 发文
  • 评论
  • 微博
  • 空间
  • 微信

还不会用LoRa模块?看这一篇就够了!

ZLG致远电子2020-08-07 11:53发文

致远电子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模组




声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

      暂无数据

      ZLG致远电子

      ZLG致远电子为您提供电子**的...

      举报文章问题

      ×
      • 营销广告
      • 重复、旧闻
      • 格式问题
      • 低俗
      • 标题夸张
      • 与事实不符
      • 疑似抄袭
      • 我有话要说
      确定取消

      举报评论问题

      ×
      • 淫秽色情
      • 营销广告
      • 恶意攻击谩骂
      • 我要吐槽
      确定取消

      用户登录×

      请输入用户名/手机/邮箱

      请输入密码