娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月30日(星期三)

正在發生

2019年10月30日 | nRF24L01單片機通信的總結--看了就會用了

發布者:colchery 來源: 51hei關鍵字:nRF24L01  單片機  通信的 手機看文章 掃描二維碼
隨時隨地手機看文章

1周時間,我從一個沒用過STC單片機,不知道什么叫SPI接口的“文盲”,把nRF24L01的整個通信過程弄到完全沒有bug.。興奮之余來小屁一下。給那些正在奮斗著這個牛逼的芯片的小牛們小炫一下。希望有所幫助。屁話少說。正題:


基本的東西我理解了,那就是:1.用5根線的SPI接口向2401發送數據或指令。2.芯片在每次上電的時候都需要進行一番配置。這些配置數據,就是所謂的指令了。3.配置完成后知道芯片處在哪個模式。并且知道它將要轉向哪個模式。4.通訊協議。5.觀察現象。


好了,小牛們一定急切想知道自己的程序問題出在哪里了,再小白一點的一定想急切的知道如何配置才能讓它工作。更小白一點的一定想知道這個芯片的各個模式之間是怎么聯系的。又是如何進行相互轉化的。別急,一個一個說。


要說什么最重要,你們不會想到其實是4.通訊協議。 


為什么呢,你們又知道在這里的通訊協議是作什么用的呢。 舉個簡單的例子,我剛開始設計的時候,一心想讓一個作為發送模塊,每隔一秒發送一次數據,而另一個則作為接收模塊,不間斷的檢測收到數據沒有。 這就是一個簡單的通訊協議,它是我們的目標。是我們的方向。當然真正的通訊協議絕對不會這么簡單的幾句話。它告訴你,你理想中的模塊應該充當什么角色。是接收?是發送?還是接收完了馬上發送。作為開發階段,當然是越簡單的協議,正確性就越容易驗證,廢話不說,那就按我說的“通訊協議”來設計吧。


先說發送模式吧。


要到發送模式,要經歷幾個變化。


第1,上電,上電完了芯片其實還是在powerDown模式,因為芯片為了省電,它需要通過軟件來控制開機或關機。powerDown模式就是所謂的待機模式了。這個模式理所當然是最省電的。它除了省電以外還能干嗎呢?配置!對最重要的配置。就是可以通過 SPI口向它發送數據,它是可以接收到的,并且可以正確寫入到指定的寄存器中的。一般我們在初始化中一開始就可以配置了,而此時芯片正是處在這個模式。


第2.我們的目標是要把它配置的能發送出去數據,而且能被目標設備正確接收。所以這中間涉及的寄存器(當然是2401里自帶的寄存器區了)有:


1@發送到的目標地址。 說地址其實是虛的,它就相當于一個鑰匙和一把鎖一樣。當你在接收設備里邊規定了一個地址以后,那么接收到的數據只有帶了這個地址的包才會被正確接收。所以說這里的發送目標地址就是接收設備里的本機地址。只要設計時兩個地址相同,就不會接收不到。


2@接收到的地址。 這個名字起的不是很好哈,有點誤導人。說白了就是一個本機地址了。在純發射機里,它并不是必要的。因為它從來不接收數據~~~這里寫上,是因為:發射模式還有個東西,就是自動應答功能,(當然也是通過配置才能啟用的,不配置則不會自動應答,也就不需要知道本機地址了)。


3@說到自動應答,那就先說它吧。一般我們會想,發送出一幀數據后是不是應該等待另一方回應個數據呀?想法是好的,但我說了,有通訊協議在控制。因為我們這里只想設計成一直發送而不管對方是否收到。所以自動應答可以不去配置,讓它開機默認即可。但實際上我們的通訊協議可能很復雜,肯定不會是一直在發送。并且,它發送完一幀后,確實應該轉為接收模式來等待對方發送應答數據過來。我們人為的當然可以自己來個模式跳轉,但是有自動應答了,也就是說,當你設定開啟自動應答了,那么在它發送完一包數據后,芯片會立即轉為接收模式了。 《在這里我也仍有一點沒理解,就是,當它收到應答后會變成什么模式呢,是自動再回到發送模式還是停留在接收模式。》 


4@有自動應答了,那么就不能少了自動重發功能了。為什么呢。首先理解為什么會自動重發,就因為它處在自動應答模式時,通過接收數據來判定上次的數據是否有接收者成功接收了,就像我送出了一封信,如果你沒有回信我是不是會想你可能沒收到信,我需要再發一次。就是這個道理 。自動重發寄存器8位被分成兩個4位的小區域,高4位存的是重發間隔時間,也就是說總共可以設定為16種不同的間隔,在這個間隔時間過后仍沒有回應才再次重發。低4位好說,就是存一個最大重發次數。則最大可以設為15,即重發15次后仍然沒回應那就不理你了,不再重發了。并且還會產生一個中斷呢。最后再講中斷部分。 這里應該注意的是,當自動應答功能禁止時,就沒有自動重發了,不管你設了重發多少次都不管用了。所以是互相影響的。還有就是重發次數設為0次,則相當于禁自動重發了,這不是顯然的么。嘿嘿。


5@最基本的配置,,頻率。這個芯片不光能以2.4Ghz的載波發射呢,它的帶寬為2.4G----2.512G呢。這中間有一百多M的頻帶,可以劃分成2M一個的信道。這個寄存器中的值就標明你想工作在哪個信道上啦,只有設置為同頻的設備才能接收的到很容易理解吧。比如你設為10信道,則10*2=20M即發送時所用的載波頻率就是2400+20=2420MHz。當然也只有設為2420M的接收設備才能接收的到了。


6@功率,數據速率。這是什么呢?原來2401里邊也有自動增益控制部分,我們可以設定一個合適的功率來發射數據,第一可以在能耗上有利,另一方面對通信距離的控制也是很重要的。比如我只想在2米內能夠通信,但2401最大的通信距離可以達到上百米,顯然需要降發射功率來降低通信距離。可選的功率值有 0Dbm,-6dBm, -12dBm,-18dBm, 顯然0在這里是最大的發射功率了。開發時盡可能設為0.如果設為0時,接收者都接收不到數據,那肯定是芯片壞了,就不用考慮降低功耗來通信了。這四檔功率,通信距離從遠到近,從幾十米到幾cm.并且在通信過程中還可以動態更改這個功率值,以達到最佳匹配的效果。數據速率是什么呢,剛開始我跟SPI接口的速率搞混了,想著,一個4M的單片機跟芯片通信速率怎么可能到這么高的。其實不是,這個速率就是加在載波上的數據的碼率了。有兩個可選值,1Mb/s,2Mb/s.也就是說,1秒鐘能發送出去多少個高低電平。


以上這些配置命令之后就可以通過簡單的指令轉向發送模式了。下面就看一下,配置的偽指令吧:


1. sendCommand(TxAddress_5) .因為地址是3到5字節可選的,這里選擇了5字節的地址


2. sendCommand(LocalAddress_5),本機地址如果想要開啟自動應答則必需與發射地址相同,即LocalAddress==TxAddress..不開啟則不需要相等。


3. sendCommand(EnableAutoAck_0),因為芯片自帶了6個通道,可以同時工作同時接收不同的數據,所以這里的自動應答也有相應的6個bit位來分別控制。這里只允許通道0自動應答。


4. sendCommand(EnableAutoTransmit) .只要上邊一句配置開了自動應答,這句就應答生效。即自動重發.


5.  sendCommand(RF_CH). 這一句設置發射頻率。即設定信道。一般默認的就是0信道了,也即2.4G的載波。


6.sendCommand(RF_Power). 設定發射速率,還有發射功率就設成0dBM吧。


以上這些是發射模式的必要配置了。如果不涉及接收,那么現在就可以轉向發射模式。


7.sendCommand(Config); 通過 config寄存器中的開機控制位 powerup=1,轉向空閑模式,config^0=0.轉向發射模式。


8.sendCommand(TxBuffer);  填充發送數據到緩沖區里邊。


8.CE=1;  這是一個引腳,用來控制從空閑模式向發送或接收模式跳轉的.僅將相應位設為發送或接收模式不行,芯片現在只欠東風了,就是CE=1并保持最少10us時間后。就會開始發送數據了。


一個幀數據發送完成后會產生中斷。這些中斷是可以屏蔽的,就像單片機的中斷允許控制一樣。控制位在config寄存器中。


這里還可能產生另一個中斷,就是重發次數達到上限了,你設了重發3次,那么重發3次以后還沒收到應答就產生中斷了。同樣也是可屏蔽的。


下面說接收模式配置吧。


待續一下。


關鍵字:nRF24L01  單片機  通信的 引用地址:nRF24L01單片機通信的總結--看了就會用了

上一篇:L297A+L298N步進電機驅動板電路原理圖PCB與單片機控制源程序
下一篇:單片機讀寫RC522射頻卡上位機調試軟件及參考例程

推薦閱讀

中國國際社會公共安全產品博覽會在中國國際展覽中心新館舉行。安博會期間,地平線與全志科技宣布達成戰略合作。雙方還在安博會上聯合推出了面向行業應用開發的集成了 AI 芯片與算法的嵌入式視覺人工智能一站式解決方案。該解決方案基于雙方共同推出的旭日 X1600 系列智能識別模組。?安博會地平線展臺?該模組將內置地平線 AI 算法的地平線旭日1.0人...
和上一篇AD7793類似,項目中也涉及到利用AD7745讀取電容值,來測環境濕度。編寫了基于MSP430的AD7745的硬件IIC驅動和模擬IIC驅動,分享給大家。AD7745硬件IIC驅動完整版下載鏈接:https://download.csdn.net/download/qq_42580947/11041942AD7745模擬IIC驅動完整版下載鏈接:https://download.csdn.net/download/qq_42580947/11041947PS:目前資源積分無法...
當下,人工智能、5G等前沿技術在智能家居的融合應用,為智能家居產業帶來新的發展契機。在創新技術和新興需求的推動下,智能家居的產品形態、應用模式和產業生態方面將呈現新的發展趨勢。首先,產品形態上,人工智能技術的加持將進一步豐富智能家居設備的應用功能,未來在家居服務領域中將會衍生出更多搭載人工智能的機器人或生活“助理”,為大眾提供兒童...
近日,開發者Kacper Skrzypek在數據庫中發現了小米11i和小米11i HyperCharge的蹤跡。  Kacper Skrzypek指出,小米11i系列是小米即將在印度發布的新品,包括小米11i和小米11i HyperCharge兩款機型。  其中小米11i對應的是國行版Redmi Note 11 Pro,小米11i HyperCharge對應的是國行版Redmi Note 11 Pro+,后者支持120W神仙秒充,這是...

史海拾趣

問答坊 | AI 解惑

EEWORLD DIY示波器活動驚喜大獎~~(本活動獎品由泰克提供)

DIY示波器活動仍在進行中...... 目前DIY小組正在進行軟、硬件設計及調試,預計9月中、下旬,比較完整的設計將與大家見面。 屆時,EEWORLD會組織大家進行團購套件。 對DIY活動之后表現出色的網友,我們將進行獎勵。(獎品由泰克提供) 獎勵措施 ...…

查看全部問答∨

移動通信詞匯

主要以:1/4比特數 quarter bit number AGC恢復時間 AGC recovery time AGC啟動時間 AGC attack time ATM技術 asynchronous transfer technics, 異步轉移模式,為多種速率信 息的情況下研究的一種合適的傳輸與交換方式。 GSM 泛歐數字蜂窩移動 ...…

查看全部問答∨

急聘 兼職網絡信息回復員(若干名)100元/天 工資日結

招聘人數: 若干名  薪資待遇: 工作每天3-5小時,100元/天工資每日支付; 崗位描述: 負責公司所要求的信息回復工作(有內容樣版),工作地點不限,專兼職均可! 應聘要求: 上網熟練,平均每天工作投入約3小時,具體根據效率自定; 學歷不限,在 ...…

查看全部問答∨

nand flash & mtd 驅動高手請進來,高分交流!

   本人目前使用的單板是使用nand flash,本人在上面開發了基于mtd框架的NFTL驅動,目前讀寫擦除都ok,但是怎么利用mkdosfs為這個nand flash的某個分區生成fat文件系統呢? 我們的nand flash一個頁有2048字節,默認的mkdosfs都是用的51 ...…

查看全部問答∨

evc 如何改變按鈕的背景色

EVC 如何設置按鈕的背景色?我只想實現點擊按鈕后,讓其改變自己的背景色! …

查看全部問答∨

38kHz輸出

先請教一下紅外的知識:我在實驗紅外發射和接收功能,接收用標準的一體紅外接收頭,要求接收中心頻率是38KHz的。但我用的紅外LED不是成套買的(不知道是什么頻率范圍的),現在實驗發射后,接收頭的輸出端電壓并無變化。不知道是否和頻率值有關系。 ...…

查看全部問答∨

求解釋,一個無線發射器

小弟小菜看了下面的那個圖有個不懂的地方望各位路過的大大能不吝賜教啊~~小弟感激不盡~~   這個圖百度上找的,通過Q1放大音頻信號之后,與Q2用C2耦合 然后接下來的Q2震蕩電路這邊有看不懂 問題: 但是這個音頻信號經過C2之后怎么與Q2震蕩 ...…

查看全部問答∨

【連載】【ALIENTEK 戰艦STM32開發板】STM32開發指南--第四十四章 SD卡實驗

第四十四章  SD卡實驗 很多單片機系統都需要大容量存儲設備,以存儲數據。目前常用的有U盤,FLASH芯片,SD卡等。他們各有優點,綜合比較,最適合單片機系統的莫過于SD卡了,它不僅容量可以做到很大(32Gb以上),而且支持SPI接口,方便 ...…

查看全部問答∨

據說今年的全國電子設計大賽有望出AD/DA的高速轉換?

本帖最后由 paulhyde 于 2014-9-15 03:22 編輯 據知情人透漏今年的全國電子設計大賽有望出AD/DA的高速轉換還有逆變,大家覺得有沒有啊?    …

查看全部問答∨

第二期分類調查火熱進行中!期待你的參與!

第一期分類調查活動已順利結束,共有123位網友獲10分下載積分,另有3位幸運網友獲贈EEWORLD定制臺歷一本。(頒獎貼:http://bbs.eeworld.com.cn/thread-431474-1-1.html)好活動不能停,第二期分類調查已經正式開始啦,本期的調查主題是——電子電 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 社会| 城口县| 罗定市| 余庆县| 凌云县| 固阳县| 万年县| 阜康市| 资兴市| 克拉玛依市| 齐河县| 乌兰察布市| 彝良县| 蒙自县| 牟定县| 子洲县| 同仁县| 当雄县| 尼木县| 沁阳市| 蓬莱市| 万年县| 邢台市| 文化| 莎车县| 吐鲁番市| 浦江县| 武乡县| 延安市| 浦县| 柳州市| 山东省| 新闻| 郴州市| 新营市| 贵阳市| 南阳市| 河曲县| 黔西县| 偏关县| 中方县|