国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

無線收發(fā)模塊——NRF24L01

這篇具有很好參考價值的文章主要介紹了無線收發(fā)模塊——NRF24L01。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、什么是nRF24L01

nRF24L01是由NORDIC生產的工作在2.4GHz~2.5GHz的ISM 頻段的單片無線收發(fā)器芯片。有著極低的電流消耗。

nRF24L01與5V單片機的連接通過SPI接口進行通訊,輸出功率頻道選擇和協(xié)議的設置可以通過SPI 接口進行設置,幾乎可以連接到各種單片機芯片,并完成無線數據傳送工作。

nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件

2、接口電路

nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件
引腳說明

通過以下六個引腳,便可實現(xiàn)模塊的所有功能:
(1)MOSI:主器件數據輸出,從器件數據輸入
(2)MISO:主器件數據輸入,從器件數據輸出
(3)SCLK:時鐘信號,由主器件產生
(4) CSN :從器件使能信號(片選線)
(5)CE:芯片使能,使能器件的發(fā)送模式或者接收模式。高電平有效,在發(fā)送和接收過程中都要將這個引腳拉高,
(6)IRQ:中斷信號線,中斷輸出。低電平有效,中斷時變?yōu)榈碗娖?,在以下三種情況變低:Tx FIFO 發(fā)完并且收到ACK(使能ACK情況下)、Rx FIFO收到數據、達到最大重發(fā)次數。
(7)VCC:電壓范圍1.9V~3.6V,超過3.6V將會燒毀模塊。一般電壓3.3V左右。除電源VCC和接地端,其余腳都可以直接和普通的5V單片機IO口直接相連,無需電平轉換。

通過 SPI 接口,可激活在數據寄存器 FIFO 中的數據,或者通過 SPI 命令訪問寄存器。
在待機或掉電模式下,單片機通過 SPI 接口配置模塊;
在發(fā)射或接收模式下,單片機通過 SPI 接口接收或發(fā)射數據。

3、工作模式:

工作模式由 CE 和 PWR_UP (CONFIG寄存器第1位)、 PRIM_RX(CONFIG寄存器第0位) 兩寄存器共同操縱:
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件
也可以理解為NRF2401有工作模式有四種:
收發(fā)模式,配置模式,空閑模式,關機模式

收發(fā)模式(三種)
Enhanced ShockBurstTM收發(fā)模式
ShockBurstTM收發(fā)模式
直接收發(fā)模式
(只有Enhanced ShockBurstTM收發(fā)模式支持自動ACK和自動重發(fā))

Enhanced ShockBurstTM收發(fā)模式(常用)
NRF24L01自動處理字頭和CRC校驗碼。在接收數據時,自動把字頭和CRC校驗碼移去。在發(fā)送數據時,自動加上字頭和CRC校驗碼。
ShockBurstTM收發(fā)模式
發(fā)送方要求終端設備在接收到數據后有應答信號,以便發(fā)送方檢測有無數據丟失,一旦丟失則重發(fā)數據。
直接收發(fā)模式
和傳統(tǒng)的射頻器件一樣。數據必須是在傳輸頻率為1Mbps、250kbps 或者低頻狀態(tài)進行設定,以保證接收機能探測到信號。


在接收模式下,最多可以接收6路不同的數據。每一個數據通道使用不同的地址,但是共用相同的頻道。也就是說6 個不同的NRF24L01設置為發(fā)送模式后可以與同一個設置為接收模式的NRF24L01 進行通訊,而設置為接收模式的NRF24L01可以對這6個發(fā)射端進行識別。

數據通道0是唯一的一個可以配置為40位自身地址的數據通道;而數據通道1~5 都為8位自身地址和32位公用地址(由通道1設置)。所有的數據通道都可以設置為Enhanced ShockBurst 模式。

在接收端,確認收到數據后記錄地址,并以此地址為目標地址發(fā)送應答信號。在發(fā)送端,通道0被用作接收應答信號,因此通道0的接收地址要與發(fā)送地址端地址相等,以確保接收到正確的應答信號。


配置模式 15 字節(jié)的配置字會在配置模式時下載到nRF2401 中,CE為0才能配置。
空閑模式(睡眠/待機模式):用來減小平均電流的損耗,在該模式下,晶體振蕩器處于部分工作狀態(tài),電流損耗由晶體振蕩器頻率決定。在待機模式期間,寄存器配置字內容保持不變。
掉電模式:nRF20L01 各功能關閉,保持電流消耗最小。該模式下,nRF24L01 停止工作,當設備達不到最小的電流損耗或最大電量枯竭時,設備就會進入掉電模式。

4、發(fā)送

Enhanced ShockBurstTM發(fā)送流程
1.把地址和要發(fā)送的數據按時序送入NRF24L01;
2.配置CONFIG寄存器,使之進入發(fā)送模式;
3.微控制器把CE置高(至少10us),激發(fā)Enhanced ShockBurstTM發(fā)射;
4. 發(fā)射完成,NRF24L01進入空閑狀態(tài)。

初始化NRF24L01到TX模式
1) CE置低
2) 寫Tx節(jié)點的地址
3) 寫Rx節(jié)點的地址,使能自動應答
4) 使能通道x的自動應答
5) 使能通道x的接收地址
6) 設置自動重發(fā)間隔時間和最大自動重發(fā)次數
7) 設置RF通道
8) 配置TX發(fā)射參數(低噪放大器增益、發(fā)射功率、無線速率)
9) 配置基本工作模式的參數
10)CE拉高,進入發(fā)送模式,注意CE要拉高一段時間才進入發(fā)送模式

/**
  * @brief  配置發(fā)送模式
  * @param  無
  * @retval 無
  */
void NRF_TX_Mode(void)
{  
	NRF_CE_LOW();		

   SPI_NRF_WriteBuf(NRF_WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);    //寫TX節(jié)點地址 

   SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH); //設置RX節(jié)點地址,主要為了使能ACK   

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x01);     //使能通道0的自動應答    

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x01); //使能通道0的接收地址  

   SPI_NRF_WriteReg(NRF_WRITE_REG+SETUP_RETR,0x1a);//設置自動重發(fā)間隔時間:500us + 86us;最大自動重發(fā)次數:10次

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_CH,CHANAL);       //設置RF通道為CHANAL

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_SETUP,0x07);  //設置TX發(fā)射參數,0db增益,2Mbps,低噪聲增益開啟   
	
   SPI_NRF_WriteReg(NRF_WRITE_REG+CONFIG,0x0e);    //配置基本工作模式的參數;PWR_UP,EN_CRC,16BIT_CRC,發(fā)射模式,開啟所有中斷

/*CE拉高,進入發(fā)送模式*/	
  NRF_CE_HIGH();
    Delay(0xffff); //CE要拉高一段時間才進入發(fā)送模式
}

5、接收

Enhanced ShockBurstTM接收流程
1.配置接收地址和要接收的數據包大小;
2.配置CONFIG寄存器,使之進入接收模式,把CE置高;
3. 130us后,NRF24LO1進入監(jiān)視狀態(tài),等待數據包的到來;
4.當接收到正確的數據包(正確的地址和CRC校驗碼),NRF2401自動把字頭、地址和CRC校驗位移去;
5.NRF24LO1通過把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中斷)通知微控制器;
6.微控制器把數據從FIFO讀出(0X61指令);
7.所有數據讀取完畢后,可以清除STATUS寄存器。進入四種主要的模式之—。

初始化NRF24L01到RX模式
1) CE置低
2)寫RX節(jié)點地址
3)使能通道x的自動應答
4)使能通道0的接收地址
5)設置RF通信頻率
6)選擇通道x的有效數據寬度
7)設置TX發(fā)射參數
8)配置基本工作模式的參數
9)CE拉高,進入接收模式

/**
  * @brief  配置并進入接收模式
  * @param  無
  * @retval 無
  */
void NRF_RX_Mode(void)

{
	NRF_CE_LOW();	

   SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH);//寫RX節(jié)點地址

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x01);    //使能通道0的自動應答    

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址    

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_CH,CHANAL);      //設置RF通信頻率    

   SPI_NRF_WriteReg(NRF_WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);//選擇通道0的有效數據寬度      

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_SETUP,0x07); //設置TX發(fā)射參數,0db增益,2Mbps,低噪聲增益開啟   

   SPI_NRF_WriteReg(NRF_WRITE_REG+CONFIG, 0x0f);  //配置基本工作模式的參數;PWR_UP,EN_CRC,16BIT_CRC,接收模式 

/*CE拉高,進入接收模式*/	
  NRF_CE_HIGH();

}

此外,還應有系統(tǒng)的初始化,主要有GPIO初始化,SPI初始化,NRF24L01中斷初始化。
在GPIO初始化中,需要注意各引腳的工作模式:
SPI時鐘,設置為復用推挽輸出
SPI輸出引腳(SOMI),設置為復用推挽輸出
SPI輸入引腳(SOMO),設置為懸浮輸入
CS、CE引腳,使用軟件控制,所以直接設置成推挽輸出


SPI指令
所有的 SPI 指令均在當 CSN 由低到高開始跳變時執(zhí)行;從 MOSI 寫命令的同時, MISO實時返回 24L01 的狀態(tài)值; SPI 指令由命令字節(jié)和數據字節(jié)兩部分組成。
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件

寄存器內容及說明
在寫寄存器之前,一定要進入待機模式或掉電模式。
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件
nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件nrf24l01模塊,學習筆記,學習,單片機,stm32,嵌入式硬件文章來源地址http://www.zghlxwxcb.cn/news/detail-789812.html

到了這里,關于無線收發(fā)模塊——NRF24L01的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于STM32的NRF24L01 2.4G通訊模塊的驅動實驗(HAL庫)

    基于STM32的NRF24L01 2.4G通訊模塊的驅動實驗(HAL庫)

    前言: 本文為手把手教學 NRF24L01 2.4G 通訊模塊的驅動實驗,本教程的? MCU? 采用 STM32F103ZET6 與 STM32F103C8T6 ,彼此進行互相通訊。通過? CubeMX 軟件配置? SPI? 協(xié)議驅動 NRF24L01 2.4G 通訊模塊( HAL庫 )。 NRF24L01 2.4G 是嵌入式較為常見的模塊,希望這篇博文能給讀者朋友的工程項目

    2024年02月16日
    瀏覽(24)
  • NRF24L01學習操作教程(二)——NRF實現(xiàn)一對一,一對多通訊

    NRF24L01學習操作教程(二)——NRF實現(xiàn)一對一,一對多通訊

    上篇博客鏈接:https://blog.csdn.net/DIVIDADA/article/details/130599974?spm=1001.2014.3001.5501 以下單片機例程都是基于STM32 HAL庫,在文檔末尾,我會提供參考博客和源碼程序的鏈接。 在CubeMx中配置單片機時鐘、SPI通訊接口、NRF24L01接口等,并生成Keil工程 將NRF24L01的驅動程序的.c文件和.h文件

    2024年01月15日
    瀏覽(47)
  • STM32模擬SPI控制NRF24L01發(fā)送和接收

    STM32模擬SPI控制NRF24L01發(fā)送和接收

    NRF24L01是一款2.4Ghz ISM頻段無線收發(fā)芯片。NRF24L01模塊可視為無需配對和連接型的WIFI或藍牙模塊。NRF24L01可工作于1發(fā)6收工作模式。一個NRF24L01模塊工作于發(fā)送模式時,每次根據設定的接收端地址發(fā)送射頻信號和數據;一個NRF24L01模塊工作于接收模式時,可以接收來自1~6個發(fā)送端

    2024年02月08日
    瀏覽(21)
  • 基于江科大STM32利用NRF24L01向電腦發(fā)送 漢字、字符、數字、浮點數。

    基于江科大STM32利用NRF24L01向電腦發(fā)送 漢字、字符、數字、浮點數。

    最近在使用stm32單片機時,有一個需求,就是通過NRF24L01向電腦發(fā)送數據,學習了部分教程后,發(fā)現(xiàn)目前分享的程序里基本只能發(fā)送簡單的16進制數,并不能發(fā)送漢字、字符、數字、浮點數等,于是在其基礎上進行改進,目前可以實現(xiàn)發(fā)送漢字、字符、數字、浮點數,需要源碼

    2024年04月10日
    瀏覽(38)
  • STM32F103C8T6實驗代碼之NRF24L01P 多發(fā)一收

    STM32F103C8T6實驗代碼之NRF24L01P 多發(fā)一收

    NRF24L01P射頻芯片,比NRF24L01具有更高的可靠性,更多的功 率等級,以及更遠的傳輸距離和更低的功率。此外還內置RFX2401功放芯片, 內建LNA,接收靈敏度 提高10dBm,工作在2.4GHz~2.5GHz的ISM頻段。 電壓:最小值=1.9V;典型值=3.0V;最大值=3.6V; 如果要接入5V,需要使用電阻進行分壓

    2024年02月06日
    瀏覽(40)
  • STM32在使用NRF24L01中PC(電腦)連接無顯示數據以及出現(xiàn)error的解決辦法

    STM32在使用NRF24L01中PC(電腦)連接無顯示數據以及出現(xiàn)error的解決辦法

    1.1 問題情況 在使用 正點原子 的代碼中有以下這樣一段代碼: 我們可以看到,這里調用了 NRF24L01 的自檢函數 ,用于判斷自檢是否通過,當自檢不通過時,在LCD上就會顯示 NRF24L01 Error 1.2 解決辦法 其實這個問題是 引腳沖突的問題 ,我們可以在正點原子提供的原理圖(這里我

    2024年01月23日
    瀏覽(19)
  • stm32驅動NRF24L01_原理+代碼解析

    stm32驅動NRF24L01_原理+代碼解析

    目錄 概念 廢話篇(24L01簡介) 引腳分配 工作模式 通信地址理解(個人疑難點) 原理分析 寄存器賞析 寄存器操作指令 ?配置寄存器(CONFIG,位置:0X00) ?自動應答使能寄存器(EN_AA,0X01) RX地址使能寄存器(EN_RXADDR,0X02)? 自動重發(fā)設置寄存器(SETUP_RETR,0X04)? 射頻頻

    2024年01月18日
    瀏覽(44)
  • NRF52840 NRF52833 nRF5 SDK 開發(fā)

    NRF52840 NRF52833 nRF5 SDK 開發(fā)

    ??nRF5 SDK是Nordic NRF51 NRF52系列的固件開發(fā)SDK,提供了這兩個系列MCU開發(fā)基本的外設驅動,當前最新版本為 nRF5_SDK_17.1.0_ddde560 ,后續(xù)應該也不會有太大升級和改動,因為后續(xù)Nordic將主推另一套新的 nrf connect ,新的SDK基于Zephyr RTOS,上手成本更高,搞得更復雜,對于舊的NRF51

    2023年04月26日
    瀏覽(16)
  • nRF51822 入門必備教程(一篇搞定nRF51)

    nRF51822 入門必備教程(一篇搞定nRF51)

    部署PC端開發(fā)環(huán)境 nRFgo Studio v1.14或更高版本 Keil MDK-ARM Lite v4.54或更高版本 J-Link Software v4.52b或更高版本 下載手機端app IOS系統(tǒng):進入App Store并搜索“ nRFToolbox ” Android系統(tǒng)(4.3或更高):下載nRFToolbox,解壓后安裝即可 注意:藍牙4.0和傳統(tǒng)藍牙的開發(fā)方法不同,首先需要手機支持藍

    2024年02月04日
    瀏覽(26)
  • Nordic nRF9160 SiP 和 nRF5340 SoC 通過PSA 2 級認證

    Nordic nRF9160 SiP 和 nRF5340 SoC 通過PSA 2 級認證

    Nordic Semiconductor 官方宣布其集成LTE-M/NB-IoT調制解調器和全球導航衛(wèi)星系統(tǒng)(GNSS)的nRF9160?低功耗系統(tǒng)級封裝(SiP)和nRF5340?先進多協(xié)議系統(tǒng)級芯片(SoC)產品通過了平臺安全架構(Platform Security Architecture, PSA) 二級認證,這證明這兩款器件能有效應對惡意軟件的攻擊。本次評測采用了

    2024年02月11日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包