无线串口模块SX1278的使用后记
前言
本篇總結(jié)適用于正點(diǎn)原子的無線串口模塊SX1278,即他們官方標(biāo)注的ATK-LORA-01.原子哥的文檔寫的有點(diǎn)專業(yè),第一眼看上去挺麻煩的,所以本篇就直白一點(diǎn)。省的看著都累。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、配置
這東西的工作模式總共有三種,如下:
因此設(shè)置模塊的話需要在初始化里AUX和MDO都為0(低電平)即可。
AUX和MDO隨便找兩個(gè)io口就可以了,MDO要設(shè)置成推挽輸出,下拉。AUX要設(shè)置成輸入,下拉。
根據(jù)實(shí)際操作,當(dāng)AUX和MDO都拉低以后,芯片進(jìn)入配置模式。可將模塊的RXD和TXD接到串口(這個(gè)串口指的是正兒八經(jīng)的串口,和usb長得挺像的那種),然后串口接電腦。這樣用原子哥給的配置軟件能很簡單的查詢當(dāng)前模塊的配置,然后改起來也很輕松。
以下是原子哥弄得軟件:(真的挺好用的)
二、兩個(gè)模塊之間通訊
首先是連接方式。這次試的時(shí)候只用了一個(gè)單片機(jī),那么為了不麻煩自己,還有一個(gè)模塊就用串口接到電腦上。這樣等于是電腦可以通過無線串口模塊來接收和發(fā)送信息,但連單片機(jī)那個(gè)為了方便,就弄成當(dāng)他接收到信息后,發(fā)送一個(gè)隨便定的信息給電腦那個(gè)模塊,然后電腦只要能顯示就ok了。
實(shí)際使用下來,有幾個(gè)需要注意的地方。
首先要讓兩個(gè)模塊都能進(jìn)行通信,需要把兩個(gè)模塊的MDO都設(shè)置成低電平。(這個(gè)千萬別忘了去設(shè)置。。)
透明傳輸模式,該模式需要用的模塊都被設(shè)置成透明傳輸模式且地址和信道都得是一樣的。實(shí)際測試中,這個(gè)模式下模塊真就相當(dāng)于無線串口,用起來啥設(shè)置都不需要,原來串口咋用這時(shí)候就咋用。但是根據(jù)他的文檔里說的,只要你模塊的地址和信道一樣,那按理說若有多個(gè)模塊,所有模塊都能接收到其中一個(gè)模塊發(fā)出的信號(hào)。我只用了兩個(gè)模塊來試,就不知道實(shí)際上更多模塊一起用透明傳輸模式的時(shí)候是不是真的是這樣。
定向傳輸。這個(gè)模式麻煩一點(diǎn),在發(fā)數(shù)據(jù)的時(shí)候需要按照格式來發(fā),格式如下:
在用之前照樣得配置一下模塊。實(shí)際測試中發(fā)現(xiàn)這模式下,地址可以不一樣,信道也可以不一樣,然后在發(fā)數(shù)據(jù)之前要按格式那樣加上目標(biāo)模塊的地址和信道就可以了。接收數(shù)據(jù)時(shí)發(fā)現(xiàn)接收到的數(shù)據(jù)并沒有包含高低位地址和信道。說明白點(diǎn)就是(高位地址+低位地址+信道+數(shù)據(jù))這樣一個(gè)數(shù)據(jù)串被發(fā)送出來以后,接收到的東西只剩下(數(shù)據(jù))。估計(jì)是在模塊里面就被去掉了。我用的時(shí)候試了兩個(gè)模塊不同地址同一信道和兩個(gè)模塊不同地址不同信道,都是可以傳輸?shù)摹5珱]試過波特率不一樣能不能傳輸,講道理不用試我覺得也不行。。。
總結(jié)
差不多就這樣了。總結(jié)一下首先使用之前寫個(gè)程序拉高M(jìn)DO,然后把所有用到的模塊都先配置好。然后在你真正編寫代碼的程序里,在初始化里把MDO拉低,然后你就啥都不用管就好了。初始化也就就拉低拉高引腳。。。
這個(gè)東西就是串口到的代替品。它的優(yōu)點(diǎn)是我覺得最大的是不需要再發(fā)送和接收上面做什么修改,正常USART的用法就可以了。就很方便。感覺很不錯(cuò)。
廣播與數(shù)據(jù)監(jiān)聽模式?jīng)]有試,總共就兩塊,也沒啥好試的。
這東西要是沒有原子哥那個(gè)配置軟件,估計(jì)搞搞挺麻煩的
總結(jié)
以上是生活随笔為你收集整理的无线串口模块SX1278的使用后记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Online Adaptation of
- 下一篇: H5页面(三)效果之实现图片360度旋转