nRF24L01無線通信模塊使用手冊_第1頁
nRF24L01無線通信模塊使用手冊_第2頁
nRF24L01無線通信模塊使用手冊_第3頁
nRF24L01無線通信模塊使用手冊_第4頁
nRF24L01無線通信模塊使用手冊_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

nRF24L01無線通信模塊使用手冊一、模塊簡介該射頻模塊集成了NORDIC公司生產(chǎn)的無線射頻芯片nRF24L01:12.4GHz的全球開放ISM0dBm2.2Mbps,傳輸速率高功耗低,等待模式時(shí)電流消耗僅22uA多頻點(diǎn)125個(gè),滿足多點(diǎn)通信及跳頻通信需求在空曠場地,有效通信距離:25m〔外置天線、10m〔PCB天線〕工作原理簡介:nRF24L01TX_ADDR和數(shù)據(jù)TX_PLD依據(jù)時(shí)序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必需在CSN為低時(shí)連續(xù)寫入,而TX_ADDR在放射時(shí)寫入一次即可,然后CE10μs,延遲130μs后放射數(shù)據(jù);假設(shè)自動應(yīng)答開啟,那么nRF24L01在放射數(shù)據(jù)后趕忙進(jìn)入接收模式,接收應(yīng)答信TX_DSTX_PLD從發(fā)送堆棧中去除;假設(shè)未收到應(yīng)答,則自動重放射該數(shù)據(jù)〔自動重發(fā)已開啟,假設(shè)重發(fā)次數(shù)ARC_CN〕到達(dá)上限,MAX_RT置高,TX_PLD可不能被去除;MAX_RT或TX_DS置高時(shí),使IRQ變低,以便通知MCU。最終放射成功時(shí),假設(shè)CE為低,則nRF24L011;假設(shè)發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次放射;假設(shè)發(fā)送堆棧中很多據(jù)且CE為高,則進(jìn)入待機(jī)模2。nRF24L01130μs進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來。當(dāng)接收方檢測到有效的地址和CRC時(shí),就將數(shù)據(jù)包儲藏在接收堆棧中,同時(shí)中斷標(biāo)志位RX_DR置高,IRQ變低,以便通知MCU去取數(shù)據(jù)。假設(shè)現(xiàn)在自動應(yīng)答開啟,接收方則同時(shí)進(jìn)入放射狀態(tài)回傳應(yīng)答信號。最終接收成功時(shí),假設(shè)CE變低,則nRF24L01進(jìn)入1。二、模塊電氣特性參數(shù)數(shù)值單位供電電壓5V最大放射功率0dBm最大數(shù)據(jù)傳輸率2Mbps電流消耗〔放射模式,0dBm〕11.3mA電流消耗〔接收模式,2Mbps〕12.3mA電流消耗〔掉電模式〕900nA溫度范疇-40~+85℃三、模塊引腳說明管腳符號功能方向1GND電源地2IRQ中斷輸出O3MISOSPI輸出O4MOSISPI輸入I5SCKSPI時(shí)鐘I6NC空7NC空8CSN芯片片選信號I9CE工作模式選擇I10+5V電源AT89S52單片機(jī)接口電路VCCVCCP1.0P1.1CNCNP1.2P1.3P1.4P3.2GNDAT89S52MCU模塊+5VCECSNCNCNSCKMOSIMISOIRQGNDNrf24L01通訊模塊注:上圖為示意連接,可依照自己實(shí)際需求進(jìn)展更換;使用AT89S52MCU模塊時(shí),請將Nrf24L01通訊模塊每個(gè)端口〔MOSI、SCK、CSNCE〕4.7K的排阻上拉到VCC增加其驅(qū)動力量〔。假設(shè)Nrf24L012K電阻。五、工作模式操縱工作模式由CE和PWR_UP、PRIM_RX兩存放器共同操縱:模式PWR_UPPRIM_RXCEFIFO存放器狀態(tài)接收模式111-放射模式1011數(shù)據(jù)儲藏在FIFO存放器中,放射全部數(shù)據(jù)放射模式100→12數(shù)據(jù)儲藏在FIFO存放器中,放射一個(gè)數(shù)據(jù)待機(jī)模式II101TXFIFO為空待機(jī)模式I1-0無正在傳輸?shù)臄?shù)據(jù)掉電模式0---1:進(jìn)入此模式后,只要CSNFIFO中的數(shù)據(jù)就會趕忙放射出去,直到全部數(shù)據(jù)數(shù)據(jù)放射II。I。六、數(shù)據(jù)和操縱接口通過以下六個(gè)引腳,可實(shí)現(xiàn)模塊的全部功能:①IRQ〔低電平有效,中斷輸出〕②CE〔高電平有效,放射或接收模式操縱〕③CSN〔SPI信號〕④SCK〔SPI信號〕⑤MOSI〔SPI信號〕⑥MISO〔SPI信號〕SPI接口,可激活在數(shù)據(jù)存放器FIFOSPI命令〔1個(gè)字節(jié)長度〕訪問存放器。SPISPI接口接收或放射數(shù)據(jù)。1.SPI指令全部的SPI指令均在當(dāng)CSNMOSI寫命令的同時(shí),MISO24L01的狀態(tài)值;SPI指令由命令字節(jié)和數(shù)據(jù)字節(jié)兩局部組成。SPI命令字節(jié)表指令名稱指令格式〔二進(jìn)制〕字節(jié)數(shù)操作說明R_REGISTER000AAAAA1~5讀存放器。AAAAA表示存放器地址。W_REGISTER001AAAAA1~5寫存放器。AAAAA表示存放器地址,只能在掉電或待機(jī)模式下操作。R_RX_PAYLOAD011000011~321~32字節(jié)RX有效斷氣。0開頭,數(shù)據(jù)讀完后,F(xiàn)IFO存放器清空。W_TX_PAYLOAD101000001~321~31字節(jié)TX有效數(shù)據(jù)。0開頭。FLUSH_TX111000010在放射模式下,清空TXFIFO存放器。FLUSH_RX111000100在接收模式下,清空RXFIFO存放器。在傳輸應(yīng)答信號時(shí)不應(yīng)執(zhí)行此操作,否則不能傳輸完整的應(yīng)答信號。REUSE_TX_PL111000110應(yīng)用于放射端。重使用上一次放射的有效數(shù)據(jù),當(dāng)CE=1時(shí),數(shù)據(jù)將不斷重發(fā)射。在放射數(shù)據(jù)包過程中,應(yīng)制止數(shù)據(jù)包重用功能。NOP2.SPI時(shí)序111111110空操作。可用于讀狀態(tài)存放器。SPI讀寫時(shí)序見下面兩圖。在寫存放器之前,肯定要進(jìn)入待機(jī)模式或掉電模式。其中,Cn——SPI指令位;Sn——狀態(tài)存放器位;Dn——數(shù)據(jù)位〔低字節(jié)在前,高字節(jié)在后;每個(gè)字節(jié)中高位在前〕SPI讀時(shí)序SPI寫時(shí)序地址〔十六進(jìn)制〕地址〔十六進(jìn)制〕存放器位復(fù)位值類型說明配置存放器0可屏蔽中斷RX_RD1:中斷產(chǎn)生時(shí)對IRQ沒阻礙0:RX_RD中斷產(chǎn)生時(shí),IRQ引腳為低可屏蔽中斷TX_RD1:中斷產(chǎn)生時(shí)對IRQ沒阻礙0:TX_RD中斷產(chǎn)生時(shí),IRQ引腳為低00CONFIGReserved70R/WMASK_RX_DR60R/WMASK_TX_DS50R/WMASK_MAX_40R/WMASK_MAX_40R/W1:中斷產(chǎn)生時(shí)對IRQ沒阻礙RTMAX_RTIRQ引腳為低EN_CRC31R/WCRCEN_AA中任意一位為高,則EN_CRC為高。CRCO20R/WCRC校驗(yàn)值:0:1字節(jié)1:2字節(jié)PWR_UP10R/W0:掉電 1:上電PRIM_RX00R/W0:放射模式1:接收模式01EN_AAEnhanced使能“自動應(yīng)答”功能ShockBurstReserved7:600R/W00ENAA_P551R/W5自動應(yīng)答使能位ENAA_P441R/W4自動應(yīng)答使能位ENAA_P331R/W3自動應(yīng)答使能位ENAA_P221R/W2自動應(yīng)答使能位ENAA_P111R/W1自動應(yīng)答使能位ENAA_P001R/W0自動應(yīng)答使能位02EN_RXADDR接收地址承諾Reserved7:600R/W00ERX_P550R/W5接收數(shù)據(jù)使能位ERX_P440R/W4接收數(shù)據(jù)使能位ERX_P330R/W3接收數(shù)據(jù)使能位ERX_P220R/W2接收數(shù)據(jù)使能位ERX_P111R/W1接收數(shù)據(jù)使能位ERX_P001R/W0接收數(shù)據(jù)使能位03設(shè)置地址寬度〔全部數(shù)據(jù)通SETUP_AWReserved7:2000000道〕R/W 00000接收/放射地址寬度:AW1:01100:無效R/W 01:3字節(jié)10:4字節(jié)04SETUP_RETR11:5字節(jié)自動重發(fā)自動重發(fā)延時(shí)時(shí)刻:ARD7:400000000:250usR/W0001:500us……1111:4000us自動重發(fā)計(jì)數(shù):ARC3:00011R/W0000:制止自動重發(fā)00011次……111115次05RF_CH射頻通道Reserved70R/W0RF_CH6:00000010R/W設(shè)置工作通道頻率06RF_SETUP射頻存放器Reserved7:5000R/W000PLL_LOCK40R/W鎖相環(huán)使能,測試下使用數(shù)據(jù)傳輸率:RF_DR31R/W0:1Mbps1:2Mbps放射功率:RF_PWR2:111R/W00:-18dBm01:-12dBm10:-6dBm11:0dBmLNA_HCURR01R/W低噪聲放大器增益07STATUS狀態(tài)存放器Reserved70R/W0RX_DR60R/W1。寫‘1’去除中斷TX_DS50R/WMAX_RTTX_DS50R/WMAX_RT40R/WRX_P_NO3:1111R08TX_FULLOBSERVE_TX00RPLOS_CNT7:40R寫‘1’去除中斷重發(fā)次數(shù)溢出中斷。寫‘1’去除中斷。MAX_RT中斷產(chǎn)生,則必需去除后才能連續(xù)通訊接收數(shù)據(jù)通道號:000-101:數(shù)據(jù)通道號110:未使用111:RXFIFO存放器為空TXFIFO存放器滿標(biāo)志位發(fā)送檢測存放器數(shù)據(jù)包喪失計(jì)數(shù)器。當(dāng)寫RF_CH存放器時(shí),此存放器15個(gè)數(shù)據(jù)包后,此存放重視啟。ARC_CNT3:00R時(shí),此存放器復(fù)位。09CD載波檢測Reserved7:1000000RCD00R0ARX_ADDR_P039:0E7E7E7E7E7R/W05個(gè)字節(jié)。0BRX_ADDR_P139:0C2C2C2C2C2R/W15個(gè)字節(jié)。20CRX_ADDR_P27:0C3R/W節(jié)可設(shè)置,高字節(jié)必需與RX_ADDR_P1[39:8]相等30DRX_ADDR_P37:0C4R/W節(jié)可設(shè)置,高字節(jié)必需與RX_ADDR_P1[39:8]相等40ERX_ADDR_P47:0C5R/W節(jié)可設(shè)置,高字節(jié)必需與RX_ADDR_P1[39:8]相等50FRX_ADDR_P57:0C6R/W節(jié)可設(shè)置,高字節(jié)必需與RX_ADDR_P1[39:8]相等TX_ADDRRX_PW_P0

39:0

E7E7E7E7E7

R/W

發(fā)送地址。在ShockBurstTM模式,設(shè)置RX_ADDR_P0與此地址相等來接收應(yīng)答信號Reserved 7:6

R/W

00數(shù)據(jù)通道0接收數(shù)據(jù)有效寬度:0:無效12RX_PW_P1Reserved7:60012RX_PW_P1Reserved7:600R/WRX_PW_P15:00R/W13 RX_PW_P2Reserved 7:6 00

1:1個(gè)字節(jié)……32:32個(gè)字節(jié)00數(shù)據(jù)通道1接收數(shù)據(jù)有效寬度:0:無效1:1個(gè)字節(jié)……00RX_PW_P2 5:0 0 R/W

數(shù)據(jù)通道2接收數(shù)據(jù)有效寬度:0:無效1:1個(gè)字節(jié)……14RX_PW_P3Reserved7:600R/W14RX_PW_P3Reserved7:600R/WRX_PW_P35:00R/W00數(shù)據(jù)通道3接收數(shù)據(jù)有效寬度:0:無效1:1個(gè)字節(jié)……15RX_PW_P4Reserved7:600R/W15RX_PW_P4Reserved7:600R/WRX_PW_P45:00R/W00數(shù)據(jù)通道4接收數(shù)據(jù)有效寬度:0:無效1:1個(gè)字節(jié)……16RX_PW_P5Reserved7:600R/W16RX_PW_P5Reserved7:600R/WRX_PW_P55:00R/W17FIFO_STATUSReserved70R/WTX_REUSE60RTX_FULL50RTX_EMPTY41R00數(shù)據(jù)通道5接收數(shù)據(jù)有效寬度:0:無效1:1個(gè)字節(jié)……32:32個(gè)字節(jié)FIFO狀態(tài)存放器0假設(shè)TX_REUSE=則當(dāng)CE置高時(shí),不斷發(fā)送上一數(shù)據(jù)包。TX_REUSE通過SPI 指令REUSE_TX_PL設(shè)置;通過W_TX_PALOAD 或FLUSH_TX復(fù)位TX_FIFO存放器滿標(biāo)志1:存放器滿0:存放器未滿,有可用空間TX_FIFO存放器空標(biāo)志1:存放器空0:存放器非空Reserved3:200R/W00RXFIFO存放器滿標(biāo)志RX_FULL10R1:存放器滿0:存放器未滿,有可用空間RXFIFO存放器空標(biāo)志RX_EMPTY01R1:存放器空0:存放器非空255TX_PLD XW255RX_PLD XRN/A:0N/A:0N/A:0ShockBurstTM放射模式①設(shè)置PRIM_RX為低。②通過SPI接口,將接收節(jié)點(diǎn)地址〔TX_ADDR〕和有效數(shù)據(jù)〔TX_PLD〕寫入模塊,TX_PLD時(shí),CSN必需始終置低。③置CE為高,啟動放射。CE10us。④ShockBurstTM放射模式:系統(tǒng)上電16MHz時(shí)鐘數(shù)據(jù)打包數(shù)據(jù)放射⑤假設(shè)啟動了自動應(yīng)答模式ENAA_P0=,則模塊趕忙進(jìn)入接收模式NO_ACK已設(shè)置。假設(shè)接收到應(yīng)答信號,則表示放射成功,TX_DSTXFIFO中的有效數(shù)據(jù)被移出;假設(shè)沒有接收到應(yīng)答信號,則自動重發(fā)〔自動重發(fā)已設(shè)置大值A(chǔ)R,MAX_RT置高,在TXFIFO中的數(shù)據(jù)不被移出。當(dāng)MAX_RT和TX_DS置高時(shí),IRQ激活。只有重寫狀態(tài)存放器〔STATUS〕IRQ。假設(shè)重發(fā)次數(shù)到達(dá)最MAX_RTPLOS_CNT計(jì)數(shù)器會增加,每當(dāng)有一個(gè)MAX_RT中斷產(chǎn)生。⑥假設(shè)CEITXFIFO存放器中的下一個(gè)數(shù)據(jù)包。TXFIFO中的數(shù)據(jù)放射完,CE仍為高時(shí),系統(tǒng)進(jìn)入待機(jī)模式II。⑦在待機(jī)模式II下,CE置低,則進(jìn)入待機(jī)模式I。ShockBurstTM接收模式①設(shè)置PRIM_RXEN_RXADD和有效數(shù)據(jù)寬度存放器RX_PW_P。②置CE為高,啟動接收模式。③130us后,模塊檢測空中信號,〔CRC檢驗(yàn)正確RXFIFORX_DR置高。⑤假設(shè)啟動了自動應(yīng)答功能,則發(fā)送應(yīng)答信號。⑥MCUCE為低,進(jìn)入先機(jī)模式I。⑦M(jìn)CU可通過SPI接口將數(shù)據(jù)讀出⑧模塊預(yù)備好進(jìn)入放射模式或接收模式或待機(jī)模式。九、RF通道頻率RF通道頻率指的是nRF24L01所使用的中心頻率,該頻率范疇從 2.400GHz到2.525GHz1MHz125個(gè)頻點(diǎn)可使用。由參數(shù)RF_CH確定,公式為:F0=2400+RF_CH〔MHz〕十、例如程序接收模塊與放射模塊大局部程序代碼一樣,如下:SPI命令和存放器配置頭文件API.h〔依照第六、七兩點(diǎn)編寫〕#ifndef_BYTE_DEF_#define_BYTE_DEF_typedefunsignedcharBYTE;#endif//SPI命令#defineREAD_REG#defineWRITE_REG#defineRD_RX_PLOAD#defineWR_TX_PLOAD#defineFLUSH_TX#defineFLUSH_RX#defineREUSE_TX_PL#defineNOP//nRF24L01存放器地址#defineCONFIG#defineEN_AA

0x00 //0個(gè)存放器0x20 //0個(gè)存放器0x61 //在接收模式下使用,讀有效數(shù)據(jù)0xA0 //在發(fā)送模式下使用,寫有效數(shù)據(jù)0xE1 //在發(fā)送模式下使用,清TXFIFO存放器0xE2 //在接收模式下使用,清RXFIFO存放器0xE3 //發(fā)送方使用,重復(fù)發(fā)送最終的數(shù)據(jù)0xFF //空操作,用于讀狀態(tài)存放器STATUS的值0x00 //配置存放器,8bit0x01 //自動應(yīng)答設(shè)置存放器,8bit#defineEN_RXADDR 0x02 //接收地址設(shè)置存放器,8bit#defineSETUP_AW#defineSETUP_RETR#defineRF_CH#defineRF_SETUP#defineSTATUS#defineOBSERVE_TX#defineCD#defineRX_ADDR_P0#defineRX_ADDR_P1#defineRX_ADDR_P2#defineRX_ADDR_P3#defineRX_ADDR_P4#defineRX_ADDR_P5#defineTX_ADDR#defineRX_PW_P0#defineRX_PW_P1#defineRX_PW_P2

0x03 地址寬度設(shè)置存放器,8bit0x04 //自動重復(fù)發(fā)送設(shè)置存放器,8bit0x05 //RF通道存放器,8bit0x06 //RF設(shè)置存放器,8bit0x07 //狀態(tài)存放器,8bit0x08 //發(fā)送觀測存放器,8bit0x09 //載波檢測存放器,8bit,0x0A //0,40bit0x0B0x0C0x0D0x0E0x0F0x10 //發(fā)送地址.發(fā)送方使用,40bit0x11 0接收的有效數(shù)據(jù)字節(jié)長度(1-32字節(jié)),8bit0x120x13#defineRX_PW_P3#defineRX_PW_P4#defineRX_PW_P5#defineFIFO_STATUS

0x140x150x160x17 //FIFO狀態(tài)存放器,8bitSPI操作頭文件〔與單片機(jī)的接口設(shè)置在此頭文件中〕#define#define#define

ucharunsignedcharTX_ADR_WIDTHTX_PLOAD_WIDTH

5 //5個(gè)字節(jié)20 //20個(gè)字節(jié)ucharconstTX_ADDRESS[TX_ADR_WIDTH]={0xE7,0xE7,0xE7,0xE7,0xE7};charucharinttest[12];

rx_buf[TX_PLOAD_WIDTH];flag;

//接收緩沖區(qū)//標(biāo)志位#define CE#define #define

P0_0P0_1P1_2

//芯片使能:ChipEnable//片選信號:ChipSelectNot//串行時(shí)鐘信號:SerialClock#define

MOSI

P0_3

//主發(fā)從收:MasterInSlaveOut#define

P0_4

//主收從發(fā):MasterOutSlaveIn#defineucharsbitsbit

IRQbdatasta;RX_DRTX_DS

P3_2

//中斷查詢:InterruptRequestsbit MAX_RT=sta^4;ucharSPI_RW(ucharbyte)//nRF24L01,并返回現(xiàn)在nRF24L01的狀態(tài)及數(shù)據(jù){ucharbit_ctr;for(bit_ctr=0;bit_ctr<8;bit_ctr++) //先寫字節(jié)的高位,再寫低位{MOSI=(byte&0x80); byte=(byte<<1); //byte左移一位SCK1; //SCK從高到低時(shí)開頭寫入byte|=MISO;//MISO位.MOSI寫命令的同時(shí),MISO返回nRF24L01的狀態(tài)及數(shù)據(jù)SCK=0;}return(byte);}reg,BYTEvalue)//valuereg{ucharstatus;CSN0; //CSN0時(shí),SPI讀寫status=SPI_RW(reg); //regSPI_RW(value); //value到該存放器CSN=1;return(status);}

//SPI讀寫SPI_Read(BYTEreg)//reg狀態(tài)字{BYTEreg_val;CSN=0;SPI_RW(reg);reg_val=SPI_RW(0);CSN=1;return(reg_val);}

//CSN0時(shí),SPI讀寫//reg0,什么操作也不進(jìn)展,僅僅為了讀存放器狀態(tài)//SPI讀寫ucharSPI_Read_Buf(BYTEreg,BYTE*pBuf,BYTEbytes)//reg讀出數(shù)據(jù),RX數(shù)據(jù)或RX/TXF地址{ucharstatus,byte_ctr;CSN0; //CSN0時(shí),SPI讀寫status=SPI_RW(reg); //reg并返回其狀態(tài)字for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)pBuf[byte_ctr]=SPI_RW(0); 從存放器讀數(shù)據(jù)CSN=1; //終止SPI讀寫return(status); //返回狀態(tài)值}reg,BYTE*pBuf,BYTEbytes)//將數(shù)據(jù)寫入存放器,TX數(shù)據(jù),RX/TX地址等.{ucharstatus,byte_ctr;CSN=0; //CSN為0時(shí),才能進(jìn)展SPI讀寫status=SPI_RW(reg); 狀態(tài)字for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)SPI_RW(*pBuf++);CSN=1;return(status);}

//寫數(shù)據(jù)到存放器//SPI讀寫//返回狀態(tài)值地址,RX數(shù)據(jù)寬度,RF通道,速率,低噪聲放大器增益//設(shè)置完之后,CE置高,預(yù)備好接收數(shù)據(jù)voidRX_Mode(void){SPI_RW_Reg(WRITE_REG+RX_PW_P0,TX_PLOAD_WIDTH);SPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);//寫TX_Address到nRF24L01SPI_RW_Reg(WRITE_REGSETUP_RETR,0x1a);//自動重發(fā)延時(shí):500us86us;重發(fā)次數(shù):10次SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);//TX_ADDRESS00SPI_RW_Reg(WRITE_REG+EN_AA,0x01); //ENAA_P0=1,0自動應(yīng)答SPI_RW_Reg(WRITE_REGEN_RXADDR,0x01); //ERX_P0=1,使能SPI_RW_Reg(WRITE_REG+RF_CH,40); //40個(gè)通信頻段SPI_RW_Reg(WRITE_REG+RX_PW_P0,TX_PLOAD_WIDTH);//0RX數(shù)據(jù)長度為TX_PLOAD_WIDTH,要與發(fā)送的全都SPI_RW_Reg(WRITE_REG+RF_SETUP,0x0F);1SPI_RW_Reg(WRITE_REGCONFIG0x0f);接收方;PWR_UP=1;CRC2字節(jié);}//發(fā)送模式初始化:設(shè)置發(fā)送地址,設(shè)置發(fā)送的數(shù)據(jù),設(shè)置接收方地址,RF通道,速率等,與接收類似voidTX_Mode(void){SPI_RW_Reg(WRITE_REG+RX_PW_P0,TX_PLOAD_WIDTH);SPI_RW_Reg(WRITE_REG+CONFIG,0x0e);SPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);SPI_RW_Reg(WRITE_REG+EN_AA,0x01);SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01);SPI_RW_Reg(WRITE_REG+SETUP_RETR,0x1a);SPI_RW_Reg(WRITE_REG+RF_CH,40);SPI_RW_Reg(WRITE_REG+RF_SETUP,0x0f);}voidshow_status(void){

//顯示狀態(tài)存放器的值test[0]=SPI_Read(EN_AA); //0x01test[1]=SPI_Read(EN_RXADDR);test[2]=SPI_Read(SETUP_AW);test[3]=SPI_Read(SETUP_RETR);test[4]=SPI_Read(RF_CH);test[5]=SPI_Read(RF_SETUP);test[6]=SPI_Read(RX_ADDR_P2);test[7]=SPI_Read(RX_ADDR_P3);test[8]=SPI_Read(RX_ADDR_P4);test[9]=SPI_Read(RX_ADDR_P5);test[10]=SPI_Read(RX_PW_P0);test[11]=SPI_Read(STATUS);}

//0x01//0x03,5個(gè)字節(jié)//0x1a//0x28//0x0f//0x14voidinit_io(void)voidinit_io(void){CE=0;CSN=1;SCK=0;}//待機(jī)//SPI制止讀寫voidInituart(void)//設(shè)置串口工作模式{TMOD|=0x20;TL1=0xfd;TH1=0xfd;SCON=0x50;TR1=1;TI=1;}//9600//1voidinit_int0(void)//外部中斷設(shè)置{EA=1;ES=1;EX0=1;}//承諾全局中斷//開串行口中斷voiddelay_ms(unsignedintx){unsignedinti,j;i=0;for

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論