版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
NRF24L01:在通訊中的應(yīng)用方法,經(jīng)驗(yàn)總結(jié)(1)2011-07-3113:15第一說一下:是一款新式單片射頻收發(fā)器件,工作于GHz~GHzISM頻段。內(nèi)置頻次合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并交融了加強(qiáng)型ShockBurst技術(shù),此中輸出功率和通訊頻道可經(jīng)過程序進(jìn)行配置。nRF24L01功耗低,在以-6dBm的功率發(fā)射時,工作電流也只有9mA;接收時,工作電流只有mA,多種低功率工作模式(掉電模式和安閑模式)使節(jié)能設(shè)計(jì)更方便。是想將這個IC調(diào)通,第一要多讀一下技術(shù)文檔:下載技術(shù)文檔以下C51驅(qū)動的源代碼庫()此庫文件合適發(fā)送端使用,在接收端會有所不一樣,請看第2部分的剖析在使用過程中,需要引用SCK=1;uchar|=MISO;thensetSCKlowagain}return(uchar);.SPI_RW(reg);reg_val=SPI_RW(0);thenreadregistervalueCSN=1;andwritevaluetoit..CSN=1;//CSNhighagainreturn(status);//returnnRF24L01statusuchar}/****************************************************************************************************//*函數(shù):uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars)/*功能:用于讀數(shù)據(jù),reg:為存放器地點(diǎn),pBuf:為待讀出數(shù)據(jù)地點(diǎn),uchars:讀出數(shù)據(jù)的個數(shù)/****************************************************************************************************/uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars){uintstatus,uchar_ctr;CSN=0;//SetCSNlow,initSPItranactionstatus=SPI_RW(reg);//Selectregistertowritetoandreadstatusucharfor(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++)pBuf[uchar_ctr]=SPI_RW(0);//CSN=1;return(status);//returnnRF24L01statusuchar}/*********************************************************************************************************/*函數(shù):uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars)/*功能:用于寫數(shù)據(jù):reg為存放器地點(diǎn),pBuf:為待寫入數(shù)據(jù)地點(diǎn),uchars:寫入數(shù)據(jù)的個數(shù)/*********************************************************************************************************/uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars){uintstatus,uchar_ctr;CSN=0;//SPI使能status=SPI_RW(reg);for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++)//SPI_RW(*pBuf++);CSN=1;//封閉SPIreturn(status);//}/****************************************************************************************************//*函數(shù):voidSetRX_Mode(void)/*功能:數(shù)據(jù)接收配置/****************************************************************************************************/voidSetRX_Mode(void){CE=0;SPI_RW_Reg(WRITE_REG+CONFIG,0x0f);//IRQ收發(fā)達(dá)成中止響應(yīng),16位CRC,主接收CE=1;inerDelay_us(130);}/******************************************************************************************************/
/*
函數(shù):
unsignedcharnRF24L01_RxPacket(unsignedchar*rx_buf)
/*
功能:數(shù)據(jù)讀取后放如
rx_buf
接收緩沖區(qū)中/******************************************************************************************************/
ucharnRF24L01_RxPacket(unsignedchar*rx_buf)
{
unsignedcharrevale=0;
sta=SPI_Read(STATUS);
//讀取狀態(tài)存放其來判斷數(shù)據(jù)接收情況if(RX_DR)
//判斷能否接收到數(shù)據(jù)
{
Display8bit(3,0,sta);
//看一下接收機(jī)狀態(tài)
判斷一下,
IC
的工作狀態(tài),在正常使用過程中,這句需要去掉
CE=0;
//SPI
使能
SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);//readreceivepayloadfromRX_FIFObuffer
revale=1;
//讀取數(shù)據(jù)達(dá)成標(biāo)記}SPI_RW_Reg(WRITE_REG+STATUS,sta);//接收到數(shù)據(jù)后RX_DR,TX_DS,MAX_PT都置高為1,經(jīng)過寫revale;
1來清楚中止標(biāo)記return}/***********************************************************************************************************
/*
函數(shù):
voidnRF24L01_TxPacket(unsignedchar*tx_buf)
/*功能:發(fā)送
tx_buf
中數(shù)據(jù)/**********************************************************************************************************/
voidnRF24L01_TxPacket(unsignedchar*tx_buf)
{
CE=0;
//StandByI
模式
SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);//
裝載接收端地點(diǎn)
SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);
//裝載數(shù)據(jù)
SPI_RW_Reg(WRITE_REG+CONFIG,0x0e);
//IRQ
收發(fā)達(dá)成中止響應(yīng),
16位
CRC,主發(fā)送
SPI_RW_Reg(WRITE_REG+STATUS,0X7E);
CE=1;
//置高CE,激發(fā)數(shù)據(jù)發(fā)送
inerDelay_us(100);
}NRF24L01:在通訊中的應(yīng)用方法,經(jīng)驗(yàn)總結(jié)(3)2011-07-3113:42再接著往下說調(diào)試過程:一般拿到IC后最大的困難就是沒法知道自己IC能否已經(jīng)工作了。假如調(diào)試不通,不知道是因?yàn)榘l(fā)送端的問題仍是接收端的問題。確實(shí),這個問題很現(xiàn)實(shí)。其實(shí)方法也很簡單,讀取IC內(nèi)部數(shù)據(jù),假如能讀出就說明,IC已經(jīng)工作,工作的怎么樣等信息,也能夠用讀取數(shù)據(jù)的方式來獲取下邊是發(fā)送部分的代碼:#include<>#include<>#include<>//引用了1602的庫,用來顯示數(shù)據(jù),來查察NRF24L01的工作狀態(tài)#include<>//引用需要調(diào)用的庫//************************************主函數(shù)************************************************************voidmain(void){uchartf;uchart;uchari,p;LCM_Init( );//初始化1602init_NRF24L01( );//初始化NRF24L01Delay(6000);t=0;while(1){for(i=0;i<10;i++){TxBuf[0]=0x30+i;//向發(fā)送緩存里放入一數(shù),我在這里放入的是i字符。至因此在i+0x30依據(jù)ASCII碼,加上0X30后8才會變?yōu)椤?”nRF24L01_TxPacket(TxBuf);//發(fā)送數(shù)據(jù)DisplayListChar(0,0,TxBuf);//將發(fā)送的數(shù)據(jù)顯示出來,因?yàn)樵陲@示的時候,要顯示一個可顯示字符“8”才能顯示0x08是不可以顯示的for(p=0;p<8;p++){Delay(6000);tf=SPI_Read(STATUS);//讀取狀態(tài)存放器,依據(jù)狀態(tài)存放器,我們就能夠知道IC能否正常工作,//假如不工作,這里獲取的tf=0xFFDisplay8bit(0,1,tf);//使用二進(jìn)制方法來顯示獲取的數(shù)據(jù)}}}}下邊是接收部分的代碼:#include<>#include<>#include<>#include<>//************************************主函數(shù)************************************************************voidmain(void){ucharRxBuf[1]
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年三只松鼠招聘備考題庫附答案詳解
- 2026年廈門市翔安新城第一實(shí)驗(yàn)學(xué)校招聘備考題庫及一套完整答案詳解
- 2026年中國煤炭地質(zhì)總局江蘇煤炭地質(zhì)局(中煤長江地質(zhì)集團(tuán)有限公司)招聘備考題庫及完整答案詳解1套
- 2026年外派至中鐵建昆侖高速公路運(yùn)營管理有限公司德遂高速公路路巡隊(duì)員招聘備考題庫及參考答案詳解
- 2026年中核礦業(yè)科技集團(tuán)有限公司招聘備考題庫帶答案詳解
- 2026年上海城建國際工程有限公司招聘備考題庫及1套參考答案詳解
- 2026年1月?lián)P州市廣陵區(qū)中醫(yī)院公開招聘勞務(wù)派遣制工作人員備考題庫及答案詳解一套
- 2026年國家電投集團(tuán)黃河上游水電開發(fā)有限責(zé)任公司招聘備考題庫及1套參考答案詳解
- 2026年度東方航空技術(shù)有限公司機(jī)務(wù)類招聘備考題庫及答案詳解1套
- 2026年博樂市供銷合作社招聘備考題庫及一套完整答案詳解
- 專題03 基本不等式(期末壓軸專項(xiàng)訓(xùn)練20題)(原卷版)-25學(xué)年高一數(shù)學(xué)上學(xué)期期末考點(diǎn)大串講(人教A版必修一)
- 檔案管理基本知識課件
- 臨床硬膜下血腫患者中醫(yī)護(hù)理查房
- 正規(guī)裝卸合同范本
- 科研設(shè)計(jì)及研究生論文撰寫智慧樹知到期末考試答案章節(jié)答案2024年浙江中醫(yī)藥大學(xué)
- 2024年江蘇省普通高中學(xué)業(yè)水平測試小高考生物、地理、歷史、政治試卷及答案(綜合版)
- 土力學(xué)與地基基礎(chǔ)(課件)
- 精神分裂癥等精神病性障礙臨床路徑表單
- 提撈采油安全操作規(guī)程
- 管道安全檢查表
- DB3211-T 1048-2022 嬰幼兒日間照料托育機(jī)構(gòu)服務(wù)規(guī)范
評論
0/150
提交評論