0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ZM4xxSX-M系列LoRa射頻模塊的驅(qū)動(dòng)代碼移植關(guān)鍵步驟

AGk5_ZLG_zhiyua ? 來(lái)源:致遠(yuǎn)電子 ? 作者:致遠(yuǎn)電子 ? 2020-09-02 14:19 ? 次閱讀

致遠(yuǎn)電子LoRa模塊其憑借著穩(wěn)定的性能,深受廣大用戶的信任與好評(píng)。但在使用過程中其驅(qū)動(dòng)代碼的移植一直是一個(gè)重點(diǎn)和難點(diǎn)。本文將簡(jiǎn)單介紹一下致遠(yuǎn)官方驅(qū)動(dòng)代碼的移植關(guān)鍵步驟。

LoRa模塊憑借其優(yōu)異的射頻性能和穩(wěn)定性,被廣泛應(yīng)用于各類物聯(lián)網(wǎng)應(yīng)用中,本文將為大家介紹致遠(yuǎn)電子官方驅(qū)動(dòng)代碼的移植關(guān)鍵步驟,適用于ZM4xxSX-M系列LoRa射頻模塊。

為了加快用戶LoRa產(chǎn)品的開發(fā)進(jìn)度,致遠(yuǎn)電子已經(jīng)實(shí)現(xiàn)了其底層驅(qū)動(dòng)。用戶移植驅(qū)動(dòng)代碼后,只需要專注于自己的產(chǎn)品功能開發(fā)即可。致遠(yuǎn)電子官方LoRa驅(qū)動(dòng)代碼鏈接如下,用戶可免費(fèi)下載!

在介紹驅(qū)動(dòng)代碼的移植之前先簡(jiǎn)單說一下驅(qū)動(dòng)的目錄結(jié)構(gòu):

LoRa驅(qū)動(dòng)代碼目錄結(jié)構(gòu)

在該驅(qū)動(dòng)例程中,前三個(gè)文件夾:startup、core、soc與具體用戶的MCU相關(guān),不用移植。Demo文件夾下面放的是致遠(yuǎn)電子提供的例程代碼,用戶可以選擇性移植。User_code文件夾下存放用戶的應(yīng)用程序,可以不用移植。真正且必須移植的是radio和sx127x這兩個(gè)文件夾下面的代碼,這兩個(gè)文件夾下包含的是驅(qū)動(dòng)和配置代碼。

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

1、確認(rèn) MCU 與 ZM4xx 模塊相連的引腳可配置為上下拉模式的,有客戶在使用過程中出現(xiàn)復(fù)位或 SPI片選引腳輸出高電平時(shí)電平只有 2.0V,從而導(dǎo)致模塊復(fù)位異常或 SPI 通信不正常。原因是該 MCU 引腳無(wú)上下拉模式,需要靠外部接上拉電阻才能把電平拉高。

2、客戶在移植驅(qū)動(dòng)時(shí),除非是編譯問題,否則不能修改 sx127x.c 里面的內(nèi)容,也不能把spi 函數(shù)寫在 sx127x.c 里面,我們只需要用戶從 sx127x_radio_lora_cfg.c 文件將 spi 函數(shù)傳入即可。

??驅(qū)動(dòng)代碼的移植

驅(qū)動(dòng)移植

??文件的修改

用戶只需要修改sx127x_radio_lora_cfg.c文件內(nèi)容即可。首先用戶需要提供以下函數(shù):

1、準(zhǔn)備SPI驅(qū)動(dòng)

ZM4xxSX-M系列的LoRa模組都是使用SPI接口通信,用戶僅需要提供SPI讀字節(jié)和寫字節(jié)的函數(shù)即可。其用戶MCU主機(jī)SPI特性如下;

SPI主機(jī)采用模式0,CPOL=0和CPHA=0;

全雙工通信;

數(shù)據(jù)長(zhǎng)度8位,MSB通信;

SPI速度需要小于10M。

用戶SPI操作函數(shù)

注意:用戶無(wú)需在SPI讀寫函數(shù)內(nèi)部操作CS片選引腳,函數(shù)內(nèi)部只需要單純發(fā)送或接收一個(gè)字節(jié)的數(shù)據(jù)即可。

2、準(zhǔn)備GPIO操作驅(qū)動(dòng)

模塊除了SPI的SCK、MISO、MOSI引腳之外,還有片選引腳和復(fù)位引腳,驅(qū)動(dòng)中需要對(duì)這兩個(gè)引腳進(jìn)行操作,因此需要用戶提供這兩個(gè)引腳的GPIO操作函數(shù):設(shè)置引腳電平函數(shù)(RESET和CS引腳初始化時(shí)需要設(shè)置為上拉輸出高電平)。

GPIO操作驅(qū)動(dòng)

3、提供延時(shí)函數(shù)

ZM4xxSX-M內(nèi)部讀寫寄存器有一定的時(shí)序要求,所以需要用戶提供延時(shí)函數(shù)。包括微秒延時(shí)和毫秒延時(shí)兩個(gè)函數(shù)。注意必須是精準(zhǔn)的延時(shí),不能是軟件循環(huán)延時(shí),因?yàn)樾枰?qū)動(dòng)有發(fā)送超時(shí),如果延時(shí)不精準(zhǔn)容易到時(shí)發(fā)送失敗。

延時(shí)函數(shù)

準(zhǔn)備好上述函數(shù)后,用戶需要將這些函數(shù)注冊(cè)到驅(qū)動(dòng)里面。sx127x_radio_loar_cfg.c文件提供了一個(gè)模板,如圖所示。用戶只需要將上述說的三種函數(shù)對(duì)應(yīng)替換成自己的函數(shù)即可,其他地方不必修改。

??移植完成后驗(yàn)證

當(dāng)用戶完成上述兩個(gè)大步驟之后,用戶需要在模塊初始化之前自行完成SPI、GPIO和延時(shí)功能的初始化。然后參考致遠(yuǎn)官方例程中的main()函數(shù)中的內(nèi)容,進(jìn)行驗(yàn)證自己移植的程序是否可以正常工作。

如果無(wú)線模塊初始化函數(shù):radio_zm4xx_inst_init()返回值!=0,則說明初始化成功,SPI通信沒問題。然后可以參考致遠(yuǎn)電子提供的無(wú)線收發(fā)demo程序:demo_zm4xx_entry(handle),如果模塊能夠正常通信說明該LoRa的驅(qū)動(dòng)代碼到此移植成功!

致遠(yuǎn)ZM470SX-M LoRa模組

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 射頻模塊
    +關(guān)注

    關(guān)注

    5

    文章

    83

    瀏覽量

    19751
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1215

    瀏覽量

    52221
  • 致遠(yuǎn)電子
    +關(guān)注

    關(guān)注

    13

    文章

    408

    瀏覽量

    31347
  • LoRa
    +關(guān)注

    關(guān)注

    349

    文章

    1698

    瀏覽量

    232105

原文標(biāo)題:還不會(huì)用LoRa模塊?看這一篇就夠了!

文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EMC電機(jī)控制器測(cè)試整改:確保產(chǎn)品可靠性關(guān)鍵步驟

    深圳南柯電子|EMC電機(jī)控制器測(cè)試整改:確保產(chǎn)品可靠性關(guān)鍵步驟
    的頭像 發(fā)表于 01-13 14:25 ?104次閱讀
    EMC電機(jī)控制器測(cè)試整改:確保產(chǎn)品可靠性<b class='flag-5'>關(guān)鍵步驟</b>

    電動(dòng)工具EMC測(cè)試整改:確保電磁兼容性的關(guān)鍵步驟

    深圳南柯電子|電動(dòng)工具EMC測(cè)試整改:確保電磁兼容性的關(guān)鍵步驟
    的頭像 發(fā)表于 12-02 11:25 ?183次閱讀
    電動(dòng)工具EMC測(cè)試整改:確保電磁兼容性的<b class='flag-5'>關(guān)鍵步驟</b>

    M31系列LoRa分布式IO模塊功能簡(jiǎn)介

    M31系列LoRa分布式IO主機(jī)模塊是一款強(qiáng)大的無(wú)線遠(yuǎn)程控制與采集設(shè)備,該設(shè)備采用 LoRa 無(wú)線技術(shù)(內(nèi)置了無(wú)線
    的頭像 發(fā)表于 12-01 16:15 ?216次閱讀

    LORA模塊的安裝與配置指南

    以下是LoRa模塊的安裝與配置指南: 一、安裝步驟 硬件連接 : 將LoRa模塊與主機(jī)(如PC或其他具有UART接口的設(shè)備)連接起來(lái)。通常,
    的頭像 發(fā)表于 10-31 17:37 ?2670次閱讀

    深圳南柯電子 EMC測(cè)試整改:確保產(chǎn)品電磁兼容性的關(guān)鍵步驟

    深圳南柯電子|EMC測(cè)試整改:確保產(chǎn)品電磁兼容性的關(guān)鍵步驟
    的頭像 發(fā)表于 10-22 15:06 ?236次閱讀
    深圳南柯電子 EMC測(cè)試整改:確保產(chǎn)品電磁兼容性的<b class='flag-5'>關(guān)鍵步驟</b>

    建設(shè)智慧醫(yī)院的關(guān)鍵步驟都有哪幾點(diǎn)

    、醫(yī)患互動(dòng)、醫(yī)療質(zhì)量提升等目標(biāo),從而為醫(yī)護(hù)人員和患者提供更便捷、高效、安全、舒適的醫(yī)療服務(wù)。 建設(shè)智慧醫(yī)院的關(guān)鍵步驟包括: 需求分析與規(guī)劃:在開始建設(shè)智慧醫(yī)院之前,首要任務(wù)是充分了解醫(yī)院的業(yè)務(wù)需求、技術(shù)需求和未
    的頭像 發(fā)表于 10-15 14:48 ?297次閱讀

    【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系

    GD32F4xx 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F4xx系列 MCU
    的頭像 發(fā)表于 09-06 09:40 ?1427次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】8、從 STM32F<b class='flag-5'>4</b>xx <b class='flag-5'>系列</b><b class='flag-5'>移植</b>到 GD32F<b class='flag-5'>4</b>xx 系

    【GD32 MCU 移植教程】5、GD32E230 系列移植到 GD32F330 系列

    GD32E230 系列是 GD 的 Cortex_M23 系列產(chǎn)品,GD32F330 系列是 GD 的 Cortex_M4
    的頭像 發(fā)表于 09-03 10:05 ?1308次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】5、GD32E230 <b class='flag-5'>系列</b><b class='flag-5'>移植</b>到 GD32F330 <b class='flag-5'>系列</b>

    組合邏輯電路設(shè)計(jì)的關(guān)鍵步驟是什么

    組合邏輯電路設(shè)計(jì)的關(guān)鍵步驟主要包括以下幾個(gè)方面: 1. 邏輯抽象 任務(wù) :根據(jù)實(shí)際邏輯問題的因果關(guān)系,確定輸入、輸出變量,并定義邏輯狀態(tài)的含義。 內(nèi)容 :明確問題的邏輯要求,找出自變量(輸入條
    的頭像 發(fā)表于 08-11 11:28 ?1074次閱讀

    LoRa126X系列LoRa模塊:專為物聯(lián)網(wǎng)設(shè)計(jì)而生

    LoRa1262是思為無(wú)線研發(fā)的一款應(yīng)用于物聯(lián)網(wǎng)應(yīng)用的LoRa?前端模塊系列,采用 Semtech 公司的?SX1262和SX1268?芯片。該系列
    的頭像 發(fā)表于 06-17 18:06 ?400次閱讀
    <b class='flag-5'>LoRa</b>126X<b class='flag-5'>系列</b><b class='flag-5'>LoRa</b><b class='flag-5'>模塊</b>:專為物聯(lián)網(wǎng)設(shè)計(jì)而生

    深圳比創(chuàng)達(dá)|EMC與EMI測(cè)試整改:確保設(shè)備電磁兼容性的關(guān)鍵步驟

    深圳比創(chuàng)達(dá)|EMC與EMI測(cè)試整改:確保設(shè)備電磁兼容性的關(guān)鍵步驟
    的頭像 發(fā)表于 06-04 11:45 ?455次閱讀
    深圳比創(chuàng)達(dá)|EMC與EMI測(cè)試整改:確保設(shè)備電磁兼容性的<b class='flag-5'>關(guān)鍵步驟</b>

    EMI測(cè)試整改:確保電子設(shè)備電磁兼容性的關(guān)鍵步驟

    深圳比創(chuàng)達(dá)|EMI測(cè)試整改:確保電子設(shè)備電磁兼容性的關(guān)鍵步驟
    的頭像 發(fā)表于 04-29 14:40 ?610次閱讀
    EMI測(cè)試整改:確保電子設(shè)備電磁兼容性的<b class='flag-5'>關(guān)鍵步驟</b>

    主軸維修:關(guān)鍵步驟和要點(diǎn)有哪些?|深圳恒興隆機(jī)電.

    深圳市恒興隆機(jī)電有限公司小編給您們介紹的主軸維修:關(guān)鍵步驟和要點(diǎn)有哪些的內(nèi)容,希望大家看后有所幫助!深圳市恒興隆機(jī)電有限公司擁有一支多年從事電主軸設(shè)計(jì)、生產(chǎn)、銷售及維修服務(wù)的專業(yè)人員。為了滿足不同類型機(jī)床的加工需求,設(shè)計(jì)制造了恒功率、自動(dòng)換刀、鉆攻中心、玻璃高光、高光超精、磨削加工等
    發(fā)表于 03-25 09:45

    MES系統(tǒng)實(shí)施的幾大關(guān)鍵步驟

    MES系統(tǒng)實(shí)施的幾大關(guān)鍵步驟--萬(wàn)界星空科技MES/低代碼MES/開源MES ?在制造業(yè)中,MES管理系統(tǒng)成為了提升生產(chǎn)效率、優(yōu)化資源配置和確保產(chǎn)品質(zhì)量的關(guān)鍵工具。然而,由于MES管理系統(tǒng)的復(fù)雜性
    的頭像 發(fā)表于 03-08 11:38 ?783次閱讀

    邪惡PLC攻擊技術(shù)的關(guān)鍵步驟

    今天我們來(lái)聊一聊PLC武器化探秘:邪惡PLC攻擊技術(shù)的六個(gè)關(guān)鍵步驟詳解。
    的頭像 發(fā)表于 01-23 11:20 ?1087次閱讀
    邪惡PLC攻擊技術(shù)的<b class='flag-5'>關(guān)鍵步驟</b>