lorawan在嵌入式系统中的实现--节点端(三)--LoraWan 终端移植调试(1)

一 代码获取

    Semtech提供了LoraWan节点端的源代码,目前只有ClassA和ClassC两种协议。github地址:https://github.com/Lora-net/LoRaMac-node。示例中的MCU为STM32,节点开发板可以从ST网站购买。

二 需要移植的文件

    如果平台是STM32,直接在工程上修改添加自己的应用,或者把相应的文件复制到已有的工程,根据芯片的不同简单修改即可。如果需要在其他平台上实现,需要修改一些底层文件进行适配。

    本人是在nrf51系列上移植了LoRaWAN的协议栈,对调试中遇到的问题和关键点进行介绍,

   1. LoRaMac-node/src/mac/ 目录下的文件是LoRaWAN的MAC协议栈,还有加密算法,一般不需要改动。

    2.LoRaMac-node/src/radio/ 目录下的文件是对SX1272和SX1276的寄存器操作,SX1278的驱动可以直接使用SX1276的。

   sx1276.c的需要修改几个函数以适应不同的平台:

  •  void SX1276WriteBuffer( uint8_t addr, uint8_t *buffer, uint8_t size ) ;void SX1276ReadBuffer( uint8_t addr, uint8_t *buffer, uint8_t size )
         这个是SPI读写操作,根据平台不同进行修改
  •    void SX1276Reset( void )

         根据GPIO pin脚不同和对应的平台操作函数进行修改

    3. LoRaMac-node/src/boards/LoRaMote/ 里面的文件是和硬件平台或主板相关的。根据自己主板或平台的配置进行修改,有些不用的功能可以不加。

主要的修改文件是sx1272-board.c;spi-board.c;rtc-board.c

  • sx1272-board.c
        void SX1272IoInit( void );这个函数是gpio初始化的操作,比如中断,SPI,天线切换开关的GPIO配置

        void SX1272SetAntSw( uint8_t opMode );设置天线发送接收,根据实际硬件进行设置

  • rtc-board.c
  • 10
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值