日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NRF24L01

發(fā)布時(shí)間:2025/3/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NRF24L01 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)http://blog.csdn.net/wangshenzhen123/article/details/47207837

?

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

看一下無線數(shù)據(jù)傳輸?shù)臄?shù)據(jù)幀格式

第二部分的地址,就是接收端接收數(shù)據(jù)的通道地址,這個(gè)地址由發(fā)送端TX_ADDR寄存器搞定。

?

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

?

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

發(fā)送端的職責(zé):1、發(fā)送:發(fā)送數(shù)據(jù)給接收端。2接收:接收某接收端的應(yīng)答信號。

?在發(fā)送完數(shù)據(jù)后NRF24L01轉(zhuǎn)到接收模式并等待終端的應(yīng)答信號

接收端的職責(zé):1、接收:接收發(fā)送端發(fā)送的數(shù)據(jù)。2發(fā)送:發(fā)送應(yīng)答信號給發(fā)送端。

?

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

?

?

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

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

?

例子:

TX5:TX_ADDR=0xB3B4B5B605

TX5:RX_ADDR_P0=0xB3B4B5B605

RX:RX_ADDR_P5=0xB3B4B5B605

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

3、

兩種數(shù)據(jù)雙方向的通訊方式:

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

?

?

?

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

這是使用手冊上的關(guān)于地址的圖。

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

?

也有人這樣理解:

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

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

從機(jī)接受完數(shù)據(jù)之后,將應(yīng)答信號還發(fā)送給剛才設(shè)置的那個(gè)地址,

主機(jī)還是只識別與發(fā)送數(shù)據(jù)時(shí)攜帶的地址相同的數(shù)據(jù)。

其實(shí),這么理解之后,發(fā)現(xiàn)主機(jī)和從機(jī)根本就沒有地址,只是數(shù)據(jù)攜帶的地址(數(shù)據(jù)的身份證)將主機(jī)和從機(jī)聯(lián)系起來的。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。