日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]  先簡單的介紹下nRF24L01無線模塊  (1) 2.4Ghz 全球開放ISM 頻段免許可證使用  (2) 最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制場合  (3) 126 頻道,滿足多點通信和跳頻通信需要  

  先簡單的介紹下nRF24L01無線模塊

  (1) 2.4Ghz 全球開放ISM 頻段免許可證使用

  (2) 最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制場合

  (3) 126 頻道,滿足多點通信和跳頻通信需要

  (4) 內(nèi)置硬件CRC 檢錯和點對多點通信地址控制

  (5) 低功耗1.9 - 3.6V 工作,待機模式下狀態(tài)為22uA;掉電模式下為900nA

  (6) 內(nèi)置2.4Ghz 天線,體積小巧15mm X29mm

  (7) 模塊可軟件設(shè)地址,只有收到本機地址時才會輸出數(shù)據(jù)(提供中斷指示),可直接接各種單片機使用,軟件編程非常方便

  通過SPI方式完成數(shù)據(jù)的交換,包括數(shù)據(jù)的發(fā)送,數(shù)據(jù)的接收。說明一下,單片機中如果沒有SPI的硬件電路,我們可以使用單片機的普通IO口進行SPI的時序模擬,只要符合無線模塊的時序邏輯,一樣能控制無線模塊的通信。FPGA是可編程邏輯,最大的特點就是靈活,用戶可根據(jù)需求加入所需要的邏輯器件,當(dāng)然它所包含的邏輯單元也是相當(dāng)?shù)呢S富,有SPI硬件模塊。這樣用戶就省去了SPI方式的時序邏輯,可以更好的專注于功能的開發(fā)。

  下面將詳細的介紹下nRF24L01無線模塊在單片機與FPGA上的應(yīng)用

單片機:這里我們使用的單片機型號為PIC16F877。

                    圖1.3 NRF24L01接入PIC的原理圖

  說明:從圖1.3中可以看出,主要是圖1.1中的6個信號(還有2個是地與電源)接入單片機中。而那些引腳是普通的IO口,需要用戶模仿SPI時序進行控制。

  無線模塊進行數(shù)據(jù)的交換就是數(shù)據(jù)的發(fā)送與數(shù)據(jù)的接收,下面將從這2個方面進行介紹。不管是數(shù)據(jù)的發(fā)送還是數(shù)據(jù)的接收,要想控制好NRF24L01無線模塊,先要通過SPI方式對無線模塊進行配置,只需要往它對應(yīng)的寄存器里寫入數(shù)值便可。

  先定義一下PIC上的宏,下面我們就可以很方便的對PIC的引腳進行操作。


1 #define MISO RC2

2 #define MOSI RC3

3 #define SCK RD0

4 #define CE RD2

5 #define CSN RD1

6 #define IRQ RC1

7 #define LED RD3

8 #define KEY0 RB0

9 #define KEY1 RB1

10 #define KEY2 RB2

11 #define KEY3 RB3

12 #define KEY4 RB4

13 #define KEY5 RB5

14 #define KEY6 RB6

15 #define KEY7 RB7


  

  NRF24L01無線模塊的寄存器

1 //*******************NRF24L01寄存器指令

2 #define READ_REG 0x00 // 讀寄存器指令

3 #define WRITE_REG 0x20 // 寫寄存器指令

4 #define RD_RX_PLOAD 0x61 // 讀取接收數(shù)據(jù)指令

5 #define WR_TX_PLOAD 0xA0 // 寫待發(fā)數(shù)據(jù)指令

6 //*******************SPI(nRF24L01)寄存器地址

7 #define CONFIG 0x00   // 配置收發(fā)狀態(tài),

8 #define EN_AA 0x01   // 自動應(yīng)答功能設(shè)置

9 #define EN_RXADDR 0x02   // 可用信道設(shè)置

10 #define SETUP_AW 0x03   // 收發(fā)地址寬度設(shè)置

11 #define SETUP_RETR 0x04   // 自動重發(fā)功能設(shè)置

12 #define RF_CH 0x05   // 工作頻率設(shè)置

13 #define RF_SETUP 0x06   // 發(fā)射速率、功耗功能設(shè)置

14 #define STATUS 0x07   // 狀態(tài)寄存器

15 #define RX_ADDR_P0 0x0A   // 頻道0接收數(shù)據(jù)地址

16 #define TX_ADDR 0x10   // 發(fā)送地址寄存器

17 #define RX_PW_P0 0x11   // 接收頻道0接收數(shù)據(jù)長度

18 #define FIFO_STATUS 0x17   // FIFO棧入棧出狀態(tài)寄存器設(shè)置

  有2類寄存器是用戶可以根據(jù)自己的需求所確定的,那就是地址的長度以及內(nèi)容、發(fā)送與接收數(shù)據(jù)的長度,但無線模塊一次最多可以發(fā)送32個字節(jié),這兩類寄存器一般設(shè)置為3~4個字節(jié)。

1 #define TX_PLOAD_WIDTH 4

2 #define RX_PLOAD_WIDTH 4

3 unsigned char TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10}; //本地地址

4 unsigned char RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10}; //接收地址

  A 模擬SPI方式

1 /****************************************************************************************************

2 /*函數(shù):uint SPI_RW(uint uchar)

3 /*功能:NRF24L01的SPI時序

4 /****************************************************************************************************/

5 unsigned char SPI_RW(unsigned char a)

6 {

7 unsigned char i;

8 for(i=0;i<8;i++)

9 {

10 if((a&0x80)==0x80)

11 MOSI=1;

12 else MOSI=0; // output 'uchar', MSB to MOSI

13 a=(a<<1); // shift next bit into MSB..

14 SCK=1; // Set SCK high..

15 if(MISO==1)

16 a|=0x01;

17 else a&=0xfe; // capture current MISO bit

18 SCK=0; // ..then set SCK low again

19 }

20 return(a); // return read uchar

21 }

  B 以SPI方式對寄存器的操作

1 /****************************************************************************************************

2 /*函數(shù):uchar SPI_Read(uchar reg)

3 /*功能:NRF24L01的SPI讀操作

4 /****************************************************************************************************/

5 unsigned char SPI_Read(unsigned char reg)

6 {

7 unsigned char reg_val;

8 CSN=0; // CSN low, initialize SPI communication...

9 SPI_RW(reg); // Select register to read from..

10 reg_val=SPI_RW(0); // ..then read registervalue

11 CSN=1; // CSN high, terminate SPI communication

12 return(reg_val); // return register value

13 }

14 /****************************************************************************************************/

15 /*功能:NRF24L01讀寫寄存器函數(shù)

16 /****************************************************************************************************/

17 unsigned char SPI_RW_Reg(unsigned char reg, unsigned char value)

18 {

19 unsigned char status;

20 CSN = 0; // CSN low, init SPI transaction

21 status=SPI_RW(reg); // select register

22 SPI_RW(value); // ..and write value to it..

23 CSN = 1; // CSN high again

24 return(status); // return nRF24L01 status uchar

25 }

26 /****************************************************************************************************/

27 /*函數(shù):uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars)

28 /*功能: 用于讀數(shù)據(jù),reg:為寄存器地址,pBuf:為待讀出數(shù)據(jù)地址,uchars:讀出數(shù)據(jù)的個數(shù)

29 /****************************************************************************************************/

30 unsigned char SPI_Read_Buf(unsigned char reg, unsigned char *pBuf, unsigned char uchars)

31 {

32 unsigned char status,uchar_ctr;

33 CSN = 0; // Set CSN low, init SPI tranaction

34 status=SPI_RW(reg); // Select register to write to and read status uchar

35

36 for(uchar_ctr=0;uchar_ctr

37 {

38 pBuf[uchar_ctr]=SPI_RW(0);

39 }

40 CSN = 1;

41

42 re

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

特朗普集團近日取消了其新推出的T1智能手機“將在美國制造”的宣傳標(biāo)語,此舉源于外界對這款手機能否以當(dāng)前定價在美國本土生產(chǎn)的質(zhì)疑。

關(guān)鍵字: 特朗普 蘋果 AI

美國總統(tǒng)特朗普在公開場合表示,他已要求蘋果公司CEO蒂姆·庫克停止在印度建廠,矛頭直指該公司生產(chǎn)多元化的計劃。

關(guān)鍵字: 特朗普 蘋果 AI

4月10日消息,據(jù)媒體報道,美國總統(tǒng)特朗普宣布,美國對部分貿(mào)易伙伴暫停90天執(zhí)行新關(guān)稅政策,同時對中國的關(guān)稅提高到125%,該消息公布后蘋果股價飆升了15%。這次反彈使蘋果市值增加了4000多億美元,目前蘋果市值接近3萬...

關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

3月25日消息,據(jù)報道,當(dāng)?shù)貢r間3月20日,美國總統(tǒng)特朗普在社交媒體平臺“真實社交”上發(fā)文寫道:“那些被抓到破壞特斯拉的人,將有很大可能被判入獄長達20年,這包括資助(破壞特斯拉汽車)者,我們正在尋找你?!?/p> 關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

1月22日消息,剛剛,新任美國總統(tǒng)特朗普放出重磅消息,將全力支持美國AI發(fā)展。

關(guān)鍵字: 特朗普 AI 人工智能

特朗普先生有兩件事一定會載入史冊,一個是筑墻,一個是挖坑。在美墨邊境筑墻的口號確保邊境安全,降低因非法移民引起的犯罪率過高問題;在中美科技產(chǎn)業(yè)之間挖坑的口號也是安全,美國企業(yè)不得使用對美國國家安全構(gòu)成威脅的電信設(shè)備,總統(tǒng)...

關(guān)鍵字: 特朗普 孤立主義 科技產(chǎn)業(yè)

據(jù)路透社1月17日消息顯示,知情人士透露,特朗普已通知英特爾、鎧俠在內(nèi)的幾家華為供應(yīng)商,將要撤銷其對華為的出貨的部分許可證,同時將拒絕其他數(shù)十個向華為供貨的申請。據(jù)透露,共有4家公司的8份許可被撤銷。另外,相關(guān)公司收到撤...

關(guān)鍵字: 華為 芯片 特朗普

曾在2018年時被美國總統(tǒng)特朗普稱作“世界第八奇跡”的富士康集團在美國威斯康星州投資建設(shè)的LCD顯示屏工廠項目,如今卻因為富士康將項目大幅縮水并拒絕簽訂新的合同而陷入了僵局。這也導(dǎo)致富士康無法從當(dāng)?shù)卣抢铽@得約40億美...

關(guān)鍵字: 特朗普 富士康

今年5月,因自己發(fā)布的推文被貼上“無確鑿依據(jù)”標(biāo)簽而與推特發(fā)生激烈爭執(zhí)后,美國總統(tǒng)特朗普簽署了一項行政令,下令要求重審《通信規(guī)范法》第230條。

關(guān)鍵字: 谷歌 facebook 特朗普

眾所周知,寄往白宮的所有郵件在到達白宮之前都會在他地進行分類和篩選。9月19日,根據(jù)美國相關(guān)執(zhí)法官員的通報,本周早些時候,執(zhí)法人員截獲了一個寄給特朗普總統(tǒng)的包裹,該包裹內(nèi)包含蓖麻毒蛋白。

關(guān)鍵字: 美國 白宮 特朗普
關(guān)閉