日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

NRF24L01

發布時間:2025/3/20 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NRF24L01 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉http://blog.csdn.net/wangshenzhen123/article/details/47207837

?

1、一個發送通道,6個接收通道。發送端發送通道地址寄存器中的地址指向的就是接收端哪個接收通道接收發送端的數據,所以發送端地址寄存器的值要與接收端需要接受數據的通道地址相同。

看一下無線數據傳輸的數據幀格式

第二部分的地址,就是接收端接收數據的通道地址,這個地址由發送端TX_ADDR寄存器搞定。

?

2、必須要搞清楚發送地址和接收地址的意義。下面兩端描述的是一個意思。我的兩次理解。

?

要先搞清楚TX_ADD和RRX_ADDR_PX。TX_ADD就一個,是發送數據幀格式中發送的地址信息,如上1所示,這個地址指定了向接收端接收數據通道的地址。

發送端的職責:1、發送:發送數據給接收端。2接收:接收某接收端的應答信號。

?在發送完數據后NRF24L01轉到接收模式并等待終端的應答信號

接收端的職責:1、接收:接收發送端發送的數據。2發送:發送應答信號給發送端。

?

所以整個過程發送端接收端都有發送和接收的功能。只是發送和接收的東西不一樣。

?

?

NRF24L01發送端把數據發送給接收端,接收端在確認收到數據后記錄發送端的地址,并以此地址為目標地址發送應答信號(這個是自動的,不是程序設置的,應屬于硬件實現),(就是說接收端的發送地址寄存器TX_ADDR中存的地址就是發送端TX_ADDR中的地址,而發送端要以又要用通道0來接收應答,所以需要將通道0的地址設置為該地址,即發送端TX_ADDR中的值)。在發送端,數據通道0被用作接收應答信號因此發送端通道0的接收地址要與發送地址端地址相等,以確保接收到正確的應答信號。

注意每個NRF24L01只有一個發送通道,用來指示向接收端NRF24l01的哪個接收通道發送數據,即TX_ADDR(即只有一個發送目標地址寄存器)不要被TX5迷惑,這里5是指第五個NRF24l01.但一個NRF24L01是有6個接收通道的,每個通道有自己的地址。所以一個2401可以接收6個2401發送來的數據。在發送模式下,發送端的2401會用自己接收通道0來接受 接收端的2401發送來的相應信號。但是接收端的2401發送應答信號的時候,也發送的地址就是接收端的某個接受通道的地址。所以發送端的接收通道0的地址要設置成這個地址。

?

例子:

TX5:TX_ADDR=0xB3B4B5B605

TX5:RX_ADDR_P0=0xB3B4B5B605

RX:RX_ADDR_P5=0xB3B4B5B605

?IRQ 引腳會在以下三種情況變低:
Tx FIFO 發完并且收到ACK(使能ACK 情況下)
Rx FIFO 收到數據
達到最大重發次數
IRQ 接到外部中斷輸入引腳,通過中斷程序進行處理。
3 Tx Rx 的配置過程

3、

兩種數據雙方向的通訊方式:

如果想要數據在雙方向上通訊,PRIM_RX?寄存器必須緊隨芯片工作模式的變化而變化。處理器必須保證PTX和PRX端的同步性。在RX_FIFO和TX_FIFO寄存器中可能同時存有數據。

?

?

?

另外還有自己的查閱的一些資料:

這是使用手冊上的關于地址的圖。

對于發送方他的Rx通道0要和他的發送地址配成一樣的。對于接收方0~6必有的哥通道的地址配置為發送發的地址。就是其實所有的地址都是自己設置的,但是要配對的進行設置。

?

也有人這樣理解:

發送方發送了一段代碼,代碼中攜帶地址(看做代碼的身份證),

接收方接收代碼,但接受方設置成了只接收特定身份代碼的數據,也就是主機TX_ADDR和從機RX_ADDR要求設置成相同的原因吧。

從機接受完數據之后,將應答信號還發送給剛才設置的那個地址,

主機還是只識別與發送數據時攜帶的地址相同的數據。

其實,這么理解之后,發現主機和從機根本就沒有地址,只是數據攜帶的地址(數據的身份證)將主機和從機聯系起來的。

總結

以上是生活随笔為你收集整理的NRF24L01的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。