綠色nrf24l01開發(fā)包-24l01kl-技術(shù)開發(fā)_第1頁
綠色nrf24l01開發(fā)包-24l01kl-技術(shù)開發(fā)_第2頁
綠色nrf24l01開發(fā)包-24l01kl-技術(shù)開發(fā)_第3頁
綠色nrf24l01開發(fā)包-24l01kl-技術(shù)開發(fā)_第4頁
綠色nrf24l01開發(fā)包-24l01kl-技術(shù)開發(fā)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、模塊介紹KL_NRF24L01尺寸圖(單位KL_NRF24L01SE模塊實物圖(SMA接口KL_NRF24L01SE模塊尺寸圖(單位2.4Ghz全球開放ISM頻段免證使126內(nèi)置硬件CRC低功耗1.9-3.6V工作,待機模式下狀態(tài)為22uA;掉電模內(nèi)置2.4Ghz供中斷指示),可直接接各種單片機使用,編程非常方便標(biāo)準(zhǔn)DIP間距接口,便于應(yīng)EnhancedShockBurstAutomaticpackethandling,Autopackettransactionhandling,具有可選的內(nèi)燒毀模果是3.3V的,可以直接和RF2401模塊的IO口線請注意模請注意模塊插接的方向與接頭座子的連接方通信成功接口VCC腳接電壓范圍為1.9V~3.6V之間,不能在這個區(qū)間之外,超過3.6V將會燒毀模塊。電壓3.3V左右。除電源VCC和接地端,其余腳都可以直接和普通的5V單片機IO口硬件上面沒有I的單片機也可以控制本模塊,用普通單片機口模擬P9腳接地腳,需要和母板的邏輯地連接起來;2腳和9密腳插針,或者其他形式的接口,可以們定做。KL_NRF24L01模塊使用Nordic公司的nRF24L01開發(fā)而成KL_NRF2401有工作模式有四種收發(fā)模式配置模式空閑模式工作模式PWR_UPregister、PRIM_RXregisterCE定,詳見收發(fā)收發(fā)模式有EnhancedShockBurstTM收發(fā)模式、ShockBurstTM收發(fā)模式EnhancedShockBurstTM收發(fā)模EnhancedShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū),數(shù)據(jù)在空中停留時間短,性高。EnhancedShockBurstTM技術(shù)在EnhancedShockBurstTM收發(fā)模式下,KL_NRF24L01自動處理字頭EnhancedShockBurstTM發(fā)射流把的地址和要發(fā)送的數(shù)據(jù)按時序送入配置CONFIG寄存器,使之進(jìn)入發(fā)送模式。C.微控制器把CE置(至少10us),激發(fā)KL_NRF24L01進(jìn)行 ShockBurstTM發(fā)射D.KL_NRF24L01的EnhancedShockBurstTM發(fā)射(1)給射頻前端供(4)射完成KL_NRF24L01進(jìn)入空閑狀態(tài)。4.1.1.2EnhancedShockBurstTM接收流程A.置本機地址和要接收的數(shù)據(jù)包大B.130us后,KL_NRF24L01進(jìn)入監(jiān)視狀態(tài),等待數(shù)據(jù)當(dāng)接收到正確的數(shù)據(jù)包(正確的地址和CRC自動把字頭、地址和CRC校驗位移去KL_NRF24L01通過把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中斷)通知微控制器;F.微控制器把數(shù)據(jù)從KL_NRF24L01讀出;G.所有數(shù)據(jù)完畢后,可以清除STATUS寄存器KL_NRF24L01可以進(jìn)入四種主要的模式之一ShockBurstTM空閑模4.4機模900nA左右。關(guān)機模式下,配置字的內(nèi)容也會被保持在KL_NRF24L01片五、配置KL_NRF24L01模KL_NRF24L01工作于EnhancedShockBurstTM收發(fā)模式,這因此,下文著重介紹把KL_NRF24L01配置為EnhancedShockBurstTMShockBurstTM的配置字可以分為以下四個部分地址:接收數(shù)據(jù)的地址,有通道0到通道5CRC:使KL_NRF24L01能夠生成CRC和KL_NRF24L01配置字的CONFIG寄存器的位描述如下表所示。:#include<reg52.h>#includetypedefunsignedcharuchar;typedefunsignedcharuint;sbitMISO sbitMOSI sbit sbit sbit sbit sbitKEY1=P2^6;sbitsbitled1=P2^4;sbit#defineTX_ADR_WIDTH //5uintsTXaddresswidth#defineRX_ADR_WIDTH //5uintsRXaddresswidth#defineTX_PLOAD_WIDTH //20uintsTXpayload#defineRX_PLOAD_WIDTH 20 //20uintsTXpayloaduintconstTX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; #defineREAD_REG //讀寄存器指令#defineWRITE_REG //寫寄存器指令#defineRD_RX_PLOAD //接收數(shù)據(jù)指令#defineWR_TX_PLOAD //寫待發(fā)數(shù)據(jù)指令#defineFLUSH_TX //沖洗發(fā)送FIFO指令#define 0xE2 //沖洗接收FIFO指#define //#define ////*******************SPI(nRF24L01)寄存器地址#define //配置收發(fā)狀態(tài),CRC#defineEN_AA 0x01 //自動應(yīng)答功能設(shè)置#defineEN_RXADDR //可用信道設(shè)置#defineSETUP_AW //收發(fā)地址寬度設(shè)置#defineSETUP_RETR //自動重發(fā)功能設(shè)置#defineRF_CH //工作頻率設(shè)置#define //#defineSTATUS //狀態(tài)寄存器#defineOBSERVE_TX //發(fā)送監(jiān)測功能#defineCD //地址檢測#defineRX_ADDR_P0 0x0A//頻道0接收數(shù)據(jù)地址#defineRX_ADDR_P1 0x0B//頻道1接收數(shù)據(jù)地址#defineRX_ADDR_P2 0x0C//頻道2接收數(shù)據(jù)地址#defineRX_ADDR_P3 0x0D//頻道3接收數(shù)據(jù)地址#defineRX_ADDR_P4 0x0E//頻道4接收數(shù)據(jù)地址#defineRX_ADDR_P5 0x0F//頻道5接收數(shù)據(jù)地址#defineTX_ADDR 0x10//發(fā)送地址寄存器#defineRX_PW_P0 //接收頻道0接收數(shù)據(jù)長度#defineRX_PW_P1 //接收頻道0接收數(shù)據(jù)長度#defineRX_PW_P2 //接收頻道0接收數(shù)據(jù)長度#defineRX_PW_P3 //接收頻道0接收數(shù)據(jù)長度#defineRX_PW_P4 //接收頻道0接收數(shù)據(jù)長度#defineRX_PW_P5 //接收頻道0接收數(shù)據(jù)長度#defineFIFO_STATUS voidDelay(unsignedints);voidinerDelay_us(unsignedcharn);voidinit_NRF24L01(void);uintSPI_RW(uintuchar);voidSetRX_Mode(void);uintSPI_RW_Reg(ucharreg,ucharuintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars);uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars);unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf);voidnRF24L01_TxPacket(unsignedchar*tx_buf);voidDelay(unsignedints){unsignedinti;for(i=0;i<s;} bdatasta; sbitRX_DR=sta^6;sbitTX_DSsbit voidinerDelay_us(unsignedcharn){for(;n>0;n--}voidinit_NRF24L01(void){ //Spi SPI_Write_Buf(WRITE_REG+TX_ADDR,TX_ADDRESS, SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH);SPI_RW_Reg(WRITE_REG+EN_AA, 頻道0自 ACK應(yīng)答允+, 需要多頻道可以參考Page21SPI_RW_Reg(WRITE_REG+RF_CH,0); SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);//設(shè)置接收數(shù)據(jù)長度,+, //設(shè)置發(fā)射速率為1MHZ,發(fā)}/*函數(shù):uintSPI_RW(uintuintSPI_RW(uintuchar){uintfor(bit_ctr=0;bit_ctr<8;bit_ctr++)//output8-{MOSI=(uchar&0x80); //output'uchar',MSBtoMOSIuchar=(uchar<<1); //shiftnextbitintoMSB..SCK= //SetSCKuchar|= //capturecurrentMISOSCK= //..thensetSCKlow} //returnread}/*函數(shù):ucharSPI_Read(ucharucharSPI_Read(uchar{ucharCSN= //CSNlow,initializeSPI //Selectregistertoreadfrom..reg_val=SPI_RW(0); //..thenreadregistervalueCSN= //CSNhigh,terminateSPI //returnregister}uintSPI_RW_Reg(ucharreg,ucharvalue){uintCSN=0; //CSNlow,initSPItransactionstatus=SPI_RW(reg); //selectregister //..andwritevaluetoCSN= //CSNhigh }/*函數(shù):uintSPI_Read_Buf(ucharreg,uchar*pBuf,uchar/*功能:用于讀數(shù)據(jù),reg:為寄存器地址,pBuf:為待讀出數(shù)據(jù)地址,uchars:讀出數(shù)據(jù)的uintSPI_Read_Buf(ucharreg,uchar*pBuf,uchar{uintCSN= //SetCSNlow,initSPIstatus= //SelectregistertowritetoandreadstatuspBuf[uchar_ctr]=SPI_RW(0); CSN= }/*函數(shù):uintSPI_Write_Buf(ucharreg,uchar*pBuf,uchar/*功能:用于寫數(shù)據(jù):為寄存器地址,pBuf:為待寫入數(shù)據(jù)地址,ucharsuintSPI_Write_Buf(ucharreg,uchar*pBuf,uchar{uintCSN //SPI使status=for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++)//CSN=1; }/*函數(shù):voidvoidSetRX_Mode(void){SPI_RW_Reg(WRITE_REG+CONFIG,0x0f); //IRQ收發(fā)完成中斷響應(yīng),16位CRC,主接收CE=}/*函數(shù):unsignedcharnRF24L01_RxPacket(unsignedchar*unsignedcharnRF24L01_RxPacket(unsignedchar*{unsignedchar //狀態(tài)寄存其來判斷數(shù)據(jù)接收狀 //{CE //SPI使 //read RX_FIFOrevale //數(shù)據(jù)完成標(biāo)} return}/*函數(shù):voidnRF24L01_TxPacket(unsignedchar*/*tx_bufvoidnRF24L01_TxPacket(unsignedchar*{ //StandByISPI_Write_Buf(WRITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);,, //裝載數(shù)SPI_RW_Reg(WRITE_REG+CONFIG, }voidmain(void){unsignedchartfunsignedcharTxBuf[20]={0}; unsignedcharRxBuf[20]={0};init_NRF24L01();TxBuf[1]=1;TxBuf[2]=1 {if(KEY1==0{

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論