NRF24L01+SMD(贴片)无线传输模块
nRF24L01 无线模块 说明书
![nRF24L01 无线模块 说明书](https://img.taocdn.com/s3/m/f2225829bd64783e09122b85.png)
nRF24L01 无线模块用户手册目录产品概述 (3)基本特性 (3)引脚接口说明 (4)模块尺寸 (6)nRF2401工作模式 (7)Enhanced ShockBurstTM收发模式 (7)Enhanced ShockBurstTM数据发送流程 (8)空闲模式 (9)关机模式 (9)nRF24L01模块参数设置 (9)主要参数设置 (10)程序设计分析 (10)nRF24L01初始化 (10)nRF24L01SPI写操作 (11)nRF24L01 SPI读操作 (11)nRF24L01写寄存器函数 (12)nRF24L01连续读多个寄存器函数 (12)nRF24L01连续写多个寄存器函数 (12)nRF24L01接收模式设置 (13)nRF24L01接收数据流程 (13)nRF24L01发送数据流程 (13)无线应用注意事项 (14)我们的承诺 (15)产品概述nRF24L01是挪威NordicVLSI公司出品的一款新型射频收发器件,采用4 mm×4 mm QFN20封装;nRF24L01工作在ISM频段:2.4~2.524 GHz。
且内置频率合成器、功率放大器、晶体振荡器、调制器等功能,并融合增强型ShockBurst技术,其中地址、输出功率和通信频道可通过程序进行配置,适合用于多机通信。
nRF24L01功耗很低,在以-6 dBm的功率发射时,工作电流也只有9 mA;而对应接收机的工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
nRF24L01在业界领先的低功耗特点使其特别适合采用钮扣电池供电的2.4G应用,整个解决方案包括链路层和MultiCeiver功能提供了比现有的 nRF24XX 更多的功能和更低的电源消耗,与目前的蓝牙技术相比在提供更高速率的同时,而只需花更小的功耗基本特性(1) 2.4Ghz全球开放ISM 频段免许可证使用(2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强(3) 125频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,适合电池供电应用(6) 待机模式下状态为22uA;掉电模式下为900nA(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) 内置专门稳压电路,即使开关电源也有很好的通信效果(9) 标准DIP间距接口,便于嵌入式应用(10)具有自动应答机制,和CRC校验,数据通讯稳定可靠。
NRF24L01模块说明书
![NRF24L01模块说明书](https://img.taocdn.com/s3/m/0e9b19e8f8c75fbfc77db288.png)
to…………………………………………………………………………………………………………totoVDD(TA=+85℃)-40℃to+85℃-40℃to+125℃
NRF24L01高速嵌入式无线数传模块高速嵌入式无线数传模块高速嵌入式无线数传模块高速嵌入式无线数传模块
200820082008200812121212202020202.4GHz2.4GHz2.4GHz2.4GHz全球开放ISM频段,最大0dBm发射功率,免许可证使用支持六路通道的数据接收低工作电压:1.91.91.91.9~3.6V3.6V3.6V3.6V低电压工作高速率:2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设置1Mbps或者2Mbps的空中传输速率)多频点:125频点,满足多点通信和跳频通信需要超小型:内置2.4GHz天线,体积小巧,15x29mm(包括天线)低功耗:当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了电流消耗。低应用成本:NRF24L01集成了所有与RF协议相关的高速信号处理部分,比如:自动重发丢失数据包和自动产生应答信号等,NRF24L01的SPI接口可以利用单片机的硬件SPI口连接或用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。便于开发:由于链路层完全集成在模块上,非常便于开发。自动重发功能,自动检测和重发丢失的数据包,重发时间及重发次数可软件控制
说明:1)VCC脚接电压范围为1.9V~3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V左右。(2)除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。(3)硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口就可以了,当然用串口也可以了(a:a:a:a:与与与与51515151系列单片机系列单片机系列单片机系列单片机P0P0P0P0口连接时候口连接时候口连接时候口连接时候,,,,需要加需要加需要加需要加10K10K10K10K的上的上的上的上拉电阻拉电阻拉电阻拉电阻,,,,与其余口连接不需要。与其余口连接不需要。与其余口连接不需要。与其余口连接不需要。b:b:b:b:其他系列的单片机,如果是其他系列的单片机,如果是其他系列的单片机,如果是其他系列的单片机,如果是5V5V5V5V的,请参考该系列的,请参考该系列的,请参考该系列的,请参考该系列单片机单片机单片机单片机IOIOIOIO口输出电流大小,如果超过口输出电流大小,如果超过口输出电流大小,如果超过口输出电流大小,如果超过10mA10mA10mA10mA,需要串联,需要串联,需要串联,需要串联电阻分压,否则容易烧毁模块电阻分压,否则容易烧毁模块电阻分压,否则容易烧毁模块电阻分压,否则容易烧毁模块!!!!如果是如果是如果是如果是3.3V3.3V3.3V3.3V的,可以的,可以的,可以的,可以直接和直接和直接和直接和RF24RF24RF24RF24llll01010101模块的模块的模块的模块的IOIOIOIO口线连接。比如口线连接。比如口线连接。比如口线连接。比如AVRAVRAVRAVR系列单片机系列单片机系列单片机系列单片机
nRF24L01无线通信模块使用手册
![nRF24L01无线通信模块使用手册](https://img.taocdn.com/s3/m/5db95b0b7375a417866f8fb3.png)
nRF24L01无线通信模块使用手册一、模块简介该射频模块集成了NORDIC公司生产的无线射频芯片nRF24L01:1.支持2.4GHz的全球开放ISM频段,最大发射功率为0dBm2.2Mbps,传输速率高3.功耗低,等待模式时电流消耗仅22uA4.多频点(125个),满足多点通信及跳频通信需求5.在空旷场地,有效通信距离:25m(外置天线)、10m(PCB天线)6.工作原理简介:发射数据时,首先将nRF24L01配置为发射模式,接着把地址TX_ADDR和数据TX_PLD 按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。
如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。
最后发射成功时,若CE为低,则nRF24L01进入待机模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入待机模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。
当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。
若此时自动应答开启,接收方则同时进入发射状态回传应答信号。
最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。
三、模块引脚说明四、模块与AT89S52单片机接口电路注:上图为示意连接,可根据自己实际需求进行更改;使用AT89S52MCU模块时,请将Nrf24L01通讯模块每个端口(MOSI、SCK、CSN和CE)接4.7K的排阻上拉到VCC增强其驱动能力(如下图:)。
nRF24L01无线模块讲解解读
![nRF24L01无线模块讲解解读](https://img.taocdn.com/s3/m/0d7f3ddd0242a8956bece472.png)
数据通道
nRF24L01 在接收模式下可以接收6 路不同通道的数据。
数据通道
• 每一个数据通道使用不同的地址,但是共用相同的频道。 也就是说6 个不同的nRF24L01 设置为发送模式后可以与 同一个设置为接收模式的nRF24L01 进行通讯,而设置为 接收模式的nRF24L01 可以对这6 个发射端进行识别。 • 数据通道是通过寄存器EN_RXADDR 来设置的,默认状 态下只有数据通道0 和数据通道1 是开启状态的。 • nRF24L01在确认收到数据后记录地址,并以此地址为目 标地址发送应答信号,在发送端,数据通道0被用作接收 应答信号,因此属通道0 的接收地址要与发送地址端地址 相等,以确保接收到正确的应答信号。
封装引脚及其引脚功能
nRF单端50Ω射频输出原理图
nRF24L10与单片机应用电路图
举例:NRF24L01模块口与STM32连接原理图中断
• nRF24L01 的中断引脚(IRQ)为低电平触发,当状态寄 存器中TX_DS(数据发送完成中断位)、RX_DR(接收 数据中断位) 或MAX_RT(达到最多次重发中断位)为 高时触发中断。 • 当MCU 给中断源写‘1’时,中断引脚被禁止。可屏蔽中 断可以被IRQ 中断屏蔽。通过设置可屏蔽中断位为高,则 中断响应被禁止。默认状态下所有的中断源是被禁止的。
nRF24l01的SPI通信时序
增强型ShockBurstTM 发送模式
• 1、 配置寄存器位PRIM_RX 为低 • 2、 当MCU 有数据要发送时,接收节点地址(TX_ADDR) 和有效数据(TX_PLD)通过SPI 接口写入nRF24L01。发送 数据的长度以字节计数从MCU 写入TX FIFO。当CSN 为 低时数据被不断的写入。发送端发送完数据后,将通道0 设置为接收模式来接收应答信号,其接收地址 (RX_ADDR_P0)与接收端地址(TX_ADDR)相同。 例:在上图 中数据通道5 的发送端(TX5)及接收端(RX)地 址设置如下: TX5:TX_ADDR=0xB3B4B5B605 TX5:RX_ADDR_P0=0xB3B4B5B605 RX:RX_ADDR_P5=0xB3B4B5B605
nRF24L01无线模块的传输速度及距离
![nRF24L01无线模块的传输速度及距离](https://img.taocdn.com/s3/m/a2caf7d59b89680203d82580.png)
nRF24L01 无线模块的传输速度及距离
nRF24L01 是一款新型单片射频收发器件,工作于2.4GHz~
2.5GHzISM 频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01 功耗低,在以-6dBm 的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw 时电流为160mA,在数据传输方面实现相对WiFi 距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
nRF24L01 传输收发距离
通讯距离是nRF24L01 无线模块的一个综合指标,受到很多条件、因素和参数的影响。
nRF24L01 无线模块通讯距离受影响的因素主要有:天线增益、输出功率、传输距离。
一般传输距离为5m,。
nrf24l01工作原理
![nrf24l01工作原理](https://img.taocdn.com/s3/m/2d5cd9c170fe910ef12d2af90242a8956becaa29.png)
nrf24l01工作原理
NRF24L01是一种低功耗2.4GHz无线收发模块,工作于
2.4GHz~2.525GHz的ISM频段。
它是由Nordic Semiconductor
公司设计和制造的。
NRF24L01的工作原理如下:
1. 发送与接收:模块既可以作为发送器发送数据,也可以作为接收器接收数据。
发送器和接收器之间通过无线信道进行通信。
2. 通信协议:NRF24L01采用了专有的GFSK调制技术和
2.4GHz无线通信协议。
它支持1Mbps、2Mbps和250kbps的
数据传输速率。
3. 通信距离:NRF24L01的通信距离取决于多个因素,如工作
频率、功率级别、天线设计等。
一般情况下,它可以在室内环境下达到10-30米的通信距离。
4. 工作模式:NRF24L01有两种工作模式:发射模式和接收模式。
在发射模式下,模块将数据发送到接收器。
在接收模式下,模块接收来自发送器的数据。
5. 通信通道和地址:NRF24L01有125个不同的通信通道,可
以在这些通道中选择一个适合的通道进行通信。
另外,可以通过设置6个字节的地址来区别不同的模块。
6. 特点:NRF24L01具有低功耗和快速开启/关闭的特点。
在
不需要通信时,可以将模块设置为睡眠模式以节省能量。
综上所述,NRF24L01是一种通过2.4GHz无线信号进行通信的模块,适用于低功耗的应用场景,如无线传感器网络、遥控器、无线键盘鼠标等。
nRF24L01的工作原理
![nRF24L01的工作原理](https://img.taocdn.com/s3/m/666ce3524531b90d6c85ec3a87c24028915f85eb.png)
nRF24L01的工作原理nRF24L01是一款低功耗、高性能的2.4GHz无线收发模块,广泛应用于无线通信领域。
它采用射频(RF)技术,能够在2.4GHz频段进行无线数据传输。
本文将详细介绍nRF24L01的工作原理。
1. 无线通信原理:无线通信是通过无线电波在空间中传播信息的一种通信方式。
nRF24L01利用射频信号进行无线通信,通过调制和解调技术实现数据的传输和接收。
2. nRF24L01的硬件结构:nRF24L01由射频前端、基带处理器和SPI接口组成。
射频前端负责射频信号的发送和接收,基带处理器负责数据的调制和解调,SPI接口用于与主控制器进行通信。
3. 工作模式:nRF24L01有两种工作模式:发送模式和接收模式。
在发送模式下,它将数据通过射频信号发送给接收端。
在接收模式下,它接收来自发送端的射频信号,并解调出原始数据。
4. 发送端工作原理:发送端首先将要发送的数据通过SPI接口发送给nRF24L01的基带处理器。
基带处理器将数据进行调制,将其转换为射频信号。
射频前端将射频信号发射出去,经过空间传播后到达接收端。
5. 接收端工作原理:接收端的射频前端接收到发送端发射的射频信号。
射频前端将射频信号经过放大和滤波处理后送给基带处理器。
基带处理器将接收到的射频信号进行解调,得到原始数据。
6. 通信协议:nRF24L01采用自己的通信协议,包括数据包格式、通信速率、信道选择等。
发送端和接收端需要使用相同的通信协议才干正常通信。
7. 功耗管理:nRF24L01具有低功耗设计,可以通过设置工作模式、发送功率和休眠模式等来控制功耗。
在不需要进行通信时,可以将nRF24L01设置为休眠模式,以节省能源。
8. 技术特点:nRF24L01具有以下技术特点:- 工作频率:2.4GHz- 通信距离:可达100米- 数据传输速率:最高2Mbps- 工作电压:1.9V至3.6V- 工作温度:-40℃至85℃9. 应用领域:nRF24L01广泛应用于无线数据传输领域,例如无线遥控、无线传感器网络、物联网等。
nrf24l01无线通信模块与51单片机工作原理
![nrf24l01无线通信模块与51单片机工作原理](https://img.taocdn.com/s3/m/5ff51f2b0a1c59eef8c75fbfc77da26924c59670.png)
nrf24l01无线通信模块与51单片机工作原理无线通信技术在现代社会中扮演着重要的角色,其中nrf24l01无线通信模块与51单片机也成为了无线通信的重要组成部分。
本文将探讨nrf24l01无线通信模块与51单片机的工作原理,以及它们之间的配合关系。
一、nrf24l01无线通信模块nrf24l01无线通信模块是一种低功耗的2.4GHz无线收发模块,广泛应用于物联网、无线传感器网络等领域。
其工作原理基于射频通信技术,通过无线信道进行数据的传输。
nrf24l01模块由无线收发器和嵌入式射频微控制器组成,具备高速率、长距离传输和多通道选择等特性。
1. 发射端工作原理nrf24l01发射端主要由收发器、天线和控制电路组成。
当51单片机通过SPI总线与nrf24l01通信时,可将要发送的数据通过控制电路和收发器转换成射频信号,并通过天线发送出去。
发送端的工作原理可简述为以下几个步骤:a. 初始化设置:通过配置寄存器进行初始化设置,包括工作频率、数据传输速率、天线增益等参数。
b. 数据准备与发送:将待发送的数据加载到发送缓冲区中,并通过发送指令启动数据的发送。
c. 发送前导码:在发送数据之前,发射端会先发送一段前导码作为同步信号,以确保接收端正确接收数据。
d. 数据传输与重发机制:发送端将数据以数据包的形式传输,接收端在接收到数据后会进行确认应答,发送端根据应答情况决定是否进行重发。
2. 接收端工作原理nrf24l01接收端与发送端相似,主要由收发器、天线和控制电路组成。
当发送端通过射频信号将数据发送过来时,接收端的工作原理如下:a. 初始化设置:与发送端类似,接收端也需要通过配置寄存器进行初始化设置,以匹配发送端的参数。
b. 接收与解码:接收端在接收到射频信号后,对信号进行解码,并将解码后的数据加载到接收缓冲区。
c. 数据处理与应答:通过与51单片机的交互,将接收到的数据进行处理,并向发送端发送确认应答,确保数据的可靠性。
NRF24L01组网方式
![NRF24L01组网方式](https://img.taocdn.com/s3/m/89ce734e3d1ec5da50e2524de518964bcf84d28d.png)
NRF24L01组网方式孙冬冬;王玲【摘要】NRF24L01是一款由NORDIC公司生产的无线传输模块,它的工作频段是世界上通用的频段。
空中的最大传输速率可达,而且功率非常低,当工作在接收模式下时,为最大电流,工作在发送模式下时,为最大电流。
没有加功率芯片的NRF24l01模块的传输距离最近:空旷条件下,传输的距离为15米,传输的距离为30米,传输的距离为50米,如果是外加天线的话传输距离会更远。
功率加强版的模块NRF24L01+在空旷条件下传输距离可达110米。
其最大的特点是不仅能实现一对一的点对点通信,还能实现最大为六对一(六个发送端一个接收端)的多机通信。
本文主要介绍如何利用NRF24L01实现基于STC89C52单片机的无线多机通信。
【期刊名称】《电子制作》【年(卷),期】2016(000)014【总页数】1页(P78-78)【关键词】NRF24L01;多机通信;STC89C52;无线传输【作者】孙冬冬;王玲【作者单位】山东科技大学;山东科技大学【正文语种】中文【关键词】NRF24L01;多机通信; STC89C52 ;无线传输NRF24L01拥有一个发送通道和六个接收通道,可以接收六路不同的数据,在正常工作时只有收发地址相互对应的NRF24L01模块才能进行通信。
NRF24L01有125个可选的工作频道,在正常工作时也是只有频道一致的模块才能通信。
因此,若要进行多机通信至少有两种方式:利用地址对从机进项编号区分或者是利用地址对从机进行区分。
当把频道当做划分依据时,在实际应用中发现频道相近的从机都能收到主机发送过来的数据,所以实际应用中不要选择连续的频道。
2.1 选择频道为区分对象首先提前选择好频道号并将它们赋给各个从机。
然后就可以对主机和从机分别进行操作了。
上电之后先对NRF模块进行初始化。
步骤如下。
先把模式选择引脚拉低,让芯片工作在待机模式下,然后才能对芯片的各个寄存器进行配置。
接着写接收通道0的数据宽度,一般情况下数据宽度选择为32字节。
nRF24L01无线模块的传输速度及距离
![nRF24L01无线模块的传输速度及距离](https://img.taocdn.com/s3/m/f2a85632783e0912a2162add.png)
nRF24L01无线模块的传输速度及距离
nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw时电流为160mA,在数据传输方面实现相对WiFi距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
nRF24L01传输收发距离通讯距离是nRF24L01无线模块的一个综合指标,受到很多条件、因素和参数的影响。
nRF24L01无线模块通讯距离受影响的因素主要有:天线增益、输出功率、传输距离。
一般传输距离为5m,
加板载天线,设置0DBM,在空旷地带一般可以做到20~25米左右
加PA+外接天线可以做到200米左右,最高甚至可以到达500米左右。
nRF24L01传输速度nRF24L01同时支持250kbps和1Mbps的数传传输速率,当其它应用参数一致时,两种数据传输速率实际测的通讯距离相差很大。
低速率的250kbps通讯距离至少在高速率的1Mbps的2倍以上。
没有很大的数据量却贪图高传输速率,结果是会影响传输距离的。
提升传输距离的方法1、匹配高增益天线;
2、适当加大发射功率;
3、调整好适当的发射频率;
4、提高接收灵敏度。
nRF24L01无线模块讲解解析
![nRF24L01无线模块讲解解析](https://img.taocdn.com/s3/m/dfa52e126c85ec3a87c2c5b1.png)
增强型的ShockBurst TM 模式
• nRF24L01配置为增强型的ShockBurst TM 模式 下时,只 要MCU有数据要发送,nRF24L01就会自动启动 ShockBurst TM模式来发送数据。在发送完数据后 nRF24L01转到接收模式,并等待终端的应答信号。如果 没有收到应答信号,nRF24L01将重发相同的数据包,直 到收到应答信号或重发次数超过SETUP_RETR_ARC寄 存器中设置的值为止,如果重发次数超过了设定值,则产 生MAX_RT中断。 • 只要接收到确认信号,nRF24L01就认为最后一包数据已 经发送成功(接收方已经收到数据),把TX FIFO中的数 据清除掉并产生TX_DS中断(IRQ引脚置高)。
增强型ShockBurstTM 接收模式
• 1、 ShockBurstTM 接收模式是通过设置寄存器中 PRIM_RX 位为高来选择的。准备接收数据的通道必须被 使能(EN_RXADDR 寄存器),所有工作在增强型 ShockBurstTM 模式下的数据通道的自动应答功能是由 (EN_AA 寄存器)来使能的,有效数据宽度是由 RX_PW_Px 寄存器来设置的。地址的建立过程见增强型 ShockBurstTM 发送章节。 • 2、 接收模式由设置CE 为高来启动。 • 3、 130us 后nRF24L01 开始检测空中信息。
数据通道
• 数据通道0 是唯一的一个可以配置为40 位自身地址的数据通道。1~5 数据通道都为8 位自身地址和32 位公用地址。所有的数据通道都可以 设置为增强型ShockBurst 模式。
寄存器配置
• nRF24L01所有的寄存器都是通过SPI口进行配置的(寄存器配置详见 附件)。CSN为低后,SPI接口等待指令执行。每一条指令都必须通 过一次CSN由高到低的变化。 • SPI指令格式:
nrf24l01无线通信模块与51单片机工作原理
![nrf24l01无线通信模块与51单片机工作原理](https://img.taocdn.com/s3/m/fef2ea7a0812a21614791711cc7931b765ce7b8b.png)
nrf24l01无线通信模块与51单片机工作原理
nRF24L01是一款低功耗的2.4GHz无线通信模块,适用于微
控制器和嵌入式系统之间的短距离数据传输。
它可以与51单
片机进行配合使用。
nRF24L01模块包括一个射频发射芯片和一个射频接收芯片。
模块通过SPI接口与51单片机连接。
其工作原理如下:
1. 初始化:首先,51单片机通过SPI接口向nRF24L01模块发送配置命令,包括设置通信频率、通信通道、发射功率等参数。
2. 发送数据:当需要发送数据时,51单片机将待发送的数据
通过SPI接口发送给nRF24L01模块的发送芯片。
发送芯片将
数据转换为无线信号,并通过天线发射出去。
3. 接收数据:当有数据被接收时,nRF24L01模块的接收芯片
会把接收到的数据通过SPI接口传递给51单片机。
单片机再
根据需要对接收到的数据进行处理。
4. 确认和重传:发送芯片在发送数据后会等待接收芯片的确认信号。
如果收到确认信号,发送芯片会继续发送下一个数据包。
如果未收到确认信号,发送芯片会进行多次重传,以确保数据的可靠传输。
5. 通信协议:nRF24L01模块支持多种通信协议,如无线串口、SPI、I2C等。
可以根据需要选择合适的通信协议进行数据传输。
通过上述工作原理,nRF24L01模块可以实现低功耗、短距离的无线数据传输,并与51单片机进行可靠的通信。
它被广泛应用于无线遥控、传感器网络、智能家居等领域。
nRF24L01的工作原理
![nRF24L01的工作原理](https://img.taocdn.com/s3/m/6e025454c4da50e2524de518964bcf84b9d52dcf.png)
nRF24L01的工作原理引言概述:nRF24L01是一款低功耗、高性能的2.4GHz无线收发模块,广泛应用于无线通信领域。
它采用了先进的射频技术和通信协议,具有稳定的信号传输和高效的能耗管理。
本文将详细介绍nRF24L01的工作原理,匡助读者更好地了解这款模块的工作机制。
一、射频通信原理1.1 发射端工作原理:当发送端要发送数据时,先将数据通过SPI接口发送给nRF24L01模块,模块将数据转换成射频信号并通过天线发送出去。
发送端的nRF24L01模块会在发送完成后自动进入接收模式,等待接收端的应答信号。
1.2 接收端工作原理:接收端的nRF24L01模块接收到射频信号后,将其转换成数字信号并通过SPI接口传输给微控制器,微控制器解析数据并做出相应的处理。
接收端的nRF24L01模块也会发送应答信号给发送端,确认数据接收成功。
1.3 频率调谐原理:nRF24L01模块采用频率合成技术,可以在2.4GHz频段内进行频率调谐,以适应不同的通信环境和干扰情况。
这种技术可以保证通信的稳定性和可靠性。
二、数据传输原理2.1 数据包格式:nRF24L01模块采用数据包的形式进行数据传输,每一个数据包包含了数据字段、地址字段、校验字段等部份。
发送端和接收端需要事先约定好数据包的格式,以确保数据的正确传输。
2.2 自动重传机制:nRF24L01模块具有自动重传机制,可以在数据传输失败时自动重新发送数据,提高了数据传输的成功率。
这种机制可以有效应对信号干扰和传输错误的情况。
2.3 数据加密功能:nRF24L01模块支持数据加密功能,可以对传输的数据进行加密保护,防止数据被恶意窃取或者篡改。
这种功能可以保障通信的安全性和隐私性。
三、功耗管理原理3.1 低功耗模式:nRF24L01模块具有多种低功耗模式,可以在不同的工作状态下自动切换,以降低功耗并延长电池寿命。
这种功耗管理机制可以使nRF24L01模块适合于电池供电的应用场景。
nrf24l01无线模块传输距离分析
![nrf24l01无线模块传输距离分析](https://img.taocdn.com/s3/m/ea80d0dcaeaad1f346933f80.png)
nrf24l01 无线模块传输距离分析
nRF24L01 是一款新型单片射频收发器件,工作于2.4GHz~
2.5GHzISM 频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01 功耗低,在以-6dBm 的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw 时电流为160mA,在数据传输方面实现相对WiFi 距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
一、NRF24L01 的三种模块
1.天线在PCB 上
该模块的天线在PCB 上,没有加功率芯片,属于传输距离最短的模。
nrf24l01模块工作原理
![nrf24l01模块工作原理](https://img.taocdn.com/s3/m/95ffbef08ad63186bceb19e8b8f67c1cfad6ee21.png)
nrf24l01模块工作原理一、概述nrf24l01是一款低功耗2.4GHz无线收发模块,由Nordic公司生产。
它采用GFSK调制方式,支持1Mbps、2Mbps和250kbps三种数据传输速率。
nrf24l01模块广泛应用于无线遥控、无线数据传输、无线音频传输等领域。
二、硬件结构nrf24l01模块由射频前端和基带芯片组成。
其中射频前端包括天线接口、功率放大器和低噪声放大器,基带芯片包括SPI接口、状态寄存器和配置寄存器。
三、工作原理1. 发送端工作原理发送端将待发送的数据通过SPI接口写入nrf24l01的发送缓冲区中,并设置相应的发送参数,如频道号、地址宽度等。
当发送命令被触发后,nrf24l01会启动射频前端进行信号调制并将信号通过天线发射出去。
2. 接收端工作原理接收端不断监听所设定的频道号,并将接收到的信号经过解调后写入接收缓冲区。
当接收到完整的数据包时,nrf24l01会向主机发送中断请求,并将状态寄存器中的相应位设置为1,以便主机读取接收缓冲区中的数据。
3. 通信协议nrf24l01采用了一种简单的6字节地址格式,其中包括5字节的地址和1字节的控制码。
控制码用于区分发送和接收设备,并指定是广播还是单播通信。
nrf24l01还支持自动重发机制和自动应答机制,以提高通信可靠性。
四、应用场景nrf24l01模块广泛应用于无线遥控、无线数据传输、无线音频传输等领域。
在无人机、智能家居等领域也有着广泛的应用。
同时,由于其低功耗特性,也可以被用于物联网设备中。
五、总结nrf24l01是一款低功耗2.4GHz无线收发模块,具有简单易用和可靠性高等特点。
它在无线遥控、无线数据传输、无线音频传输等领域都有着广泛的应用,并且在物联网设备中也有着重要作用。
nRF24L01的工作原理
![nRF24L01的工作原理](https://img.taocdn.com/s3/m/b6067eb9aff8941ea76e58fafab069dc50224711.png)
nRF24L01的工作原理nRF24L01是一款低功耗、高性能的2.4GHz无线收发模块,广泛应用于无线通信领域。
它采用射频芯片nRF24L01+,具有多种功能和特点,包括高速率、多通道、自动重发、自动频道切换等。
下面将详细介绍nRF24L01的工作原理。
1. 射频通信基础知识在了解nRF24L01的工作原理之前,我们先来了解一些射频通信的基础知识。
射频通信是通过无线电波传输信息的一种方式,它利用无线电频谱进行信号传输。
射频通信系统由发送端和接收端组成,发送端将要传输的信息转换为无线电波,接收端接收并解码这些无线电波,还原出原始信息。
2. nRF24L01的硬件结构nRF24L01模块包含一个射频收发芯片和一些外围电路。
射频收发芯片负责无线信号的调制、解调、发送和接收,外围电路则提供电源、时钟、天线等支持。
3. 工作频率和通道nRF24L01工作在2.4GHz频段,这个频段被分为多个通道,每个通道之间的频率间隔为1MHz。
nRF24L01的工作频率可以通过寄存器设置,可以选择不同的通道进行通信。
这种设计可以避免频率冲突,提高通信的可靠性。
4. 发送和接收模式nRF24L01可以在发送和接收两种模式下工作。
发送模式下,发送端将要传输的数据通过SPI接口发送给nRF24L01,nRF24L01将数据进行调制,并通过天线发送出去。
接收模式下,接收端通过天线接收到无线信号,nRF24L01将信号解调,并通过SPI接口将数据传输给接收端。
5. 数据包结构nRF24L01发送和接收的数据被组织成数据包。
数据包包含一个地址字段、一个有效载荷字段和一些控制字段。
地址字段用于标识发送端和接收端,有效载荷字段存储要传输的数据,控制字段包含一些配置信息,如数据包长度、重发次数等。
6. 自动重发和自动频道切换nRF24L01具有自动重发和自动频道切换的功能,可以提高通信的可靠性。
当发送端发送数据时,如果接收端没有正确接收到数据,nRF24L01会自动进行重发,直到达到最大重发次数。
无线模块nrf24l01中文资料
![无线模块nrf24l01中文资料](https://img.taocdn.com/s3/m/c28297f50508763231121274.png)
无线模块nrf24l01中文资料
一、 无线模块nrf24l01中文资料nrf24l01简介
nRF24.L01是一款新型单片射频收发器件,工作于
2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw时电流为160mA,在数据传输方面实现相对WiFi距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
主要特点:
GFSK调制:
硬件集成OSI链路层;
具有自动应答和自动再发射功能;。
nRF24L01的工作原理
![nRF24L01的工作原理](https://img.taocdn.com/s3/m/9253d4d46aec0975f46527d3240c844769eaa002.png)
nRF24L01的工作原理nRF24L01是一款低功耗2.4GHz无线收发模块,由Nordic Semiconductor公司设计和生产。
它采用了高度集成的射频收发器,能够在2.4GHz频段进行无线通信。
nRF24L01广泛应用于无线数据传输、遥控器、无线传感器网络等领域。
nRF24L01的工作原理可以分为发送和接收两个部分。
发送部分:1. 设置工作模式:通过配置寄存器,将nRF24L01设置为发送模式。
2. 设置通信频道:选择一个合适的通信频道。
nRF24L01支持多个可选频道,可以根据具体需求进行设置。
3. 设置发射功率:根据通信距离和功耗要求,选择合适的发射功率级别。
4. 设置数据速率:选择合适的数据传输速率,可以根据实际需求进行调整。
5. 设置接收地址:将接收方的地址设置到nRF24L01的发送地址寄存器中。
6. 准备数据:将要发送的数据准备好,并存储在发送缓冲区中。
7. 发送数据:通过SPI接口将数据从发送缓冲区传输到nRF24L01,并启动发送过程。
8. 等待发送完成:等待发送完成中断信号,表示数据已经成功发送。
接收部分:1. 设置工作模式:通过配置寄存器,将nRF24L01设置为接收模式。
2. 设置通信频道:选择与发送方相同的通信频道。
3. 设置接收地址:将接收方的地址设置到nRF24L01的接收地址寄存器中。
4. 设置自动应答:如果需要,可以设置nRF24L01在接收到数据后自动发送应答信号。
5. 等待数据接收:nRF24L01会持续监听指定通信频道,等待接收数据。
6. 接收数据:当nRF24L01接收到数据时,将数据存储在接收缓冲区中。
7. 处理数据:从接收缓冲区读取数据,并进行相应的处理。
8. 发送应答(可选):如果设置了自动应答功能,nRF24L01会在接收到数据后自动发送应答信号给发送方。
nRF24L01的工作原理基于射频通信技术,通过无线信号的发送和接收来实现数据传输。
NRF24L01无线模块收发程序(实测成功多图)
![NRF24L01无线模块收发程序(实测成功多图)](https://img.taocdn.com/s3/m/312530c685254b35eefdc8d376eeaeaad1f31613.png)
NRF24L01无线模块收发程序(实测成功多图)本模块是NRF24L01无线传输模块,用于无线传输数据,距离不远,一般只是能够满足小距离的传输,目测是4-5m,价格一般是4元左右,可以方便的买到。
51最小系统学习板就可以,当时是用了两块学习板,一块用于发送,一块用于接收。
小车也是比较容易购到的,四个端口控制两个电机,两个控制一个电机,当两个端口高低电平不同时电机就会转动,即为赋值1和0是电机转动,赋值可以用单片机作用,当然这是小车启动部分,前进后退左转右转就是你赋值0和1的顺序问题了。
整体思路是用发射端的按键控制小车,即为按键按下就前进,再按其他按键实现其他功能,本次程序是在用NRF24L01发射数据在接收端用1602显示的基础上改变。
下面是程序源码(有好几个文件,分别创建)1.//////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////2.#include3.4.#include5.6.#include'1602.h'7.#include'delay.h'8.#include 'nrf24l01.h'9.#define uint unsigned int10.#define uchar unsigned char11.uint Weight_Shiwu=1234;12.unsigned char KeyScan(void);//键盘扫描13.// unsigned char KeyScan(void);//键盘扫描14.15.//#define KeyPort P016.sbit KEY1 = P0^0;17.sbit KEY2 = P0^1;18.sbit KEY3 = P0^2;19.sbit KEY4 = P0^3;20.sbit KEY5 = P0^4;21.void main()22.{23.// char TxDate[4];24.// LCD_Init(); //初始化液晶屏25.// LCD_Clear(); //清屏26.// NRF24L01Int(); //初始化LCD160227.// LCD_Write_String(4,0,'welcome');28.while(1)29.{30.KeyScan();31.32.}33.}34.35.36.37.38.unsigned char KeyScan(void)39.{40./******************************************************** /42.{43.if(!KEY1) //如果检测到低电平,说明按键按下44.{45.DelayMs(10); //延时去抖,一般10-20ms46.if(!KEY1) //再次确认按键是否按下,没有按下则退出47.{48.while(!KEY1);//如果确认按下按键等待按键释放,没有则退出49.{50.TxDate[0] = 1;//向左转51.TxDate[1] = 0;52.TxDate[2] = 1;53.TxDate[3] = 1;54.NRFSetTxMode(TxDate);//发送数据·55.while(CheckACK()); //检测是否发送完毕56.}57.}58.}59./******************************************************** /60.else if(!KEY2) //如果检测到低电平,说明按键按下61.{62.DelayMs(10); //延时去抖,一般10-20ms63.if(!KEY2) //再次确认按键是否按下,没有按下则退出64.{65.while(!KEY2);//如果确认按下按键等待按键释放,没有则退出66.{67.TxDate[0] = 1;//向右转69.TxDate[2] = 1;70.TxDate[3] = 0;71.NRFSetTxMode(TxDate);//发送数据72.while(CheckACK()); //检测是否发送完毕73.}74.}75.}76./******************************************************** /77.else if(!KEY3) //如果检测到低电平,说明按键按下78.{79.DelayMs(10); //延时去抖,一般10-20ms80.if(!KEY3) //再次确认按键是否按下,没有按下则退出81.{82.while(!KEY3);//如果确认按下按键等待按键释放,没有则退出83.{84.TxDate[0] = 1;//前进85.TxDate[1] = 0;86.TxDate[2] = 1;87.TxDate[3] = 0;88.NRFSetTxMode(TxDate);//发送数据89.while(CheckACK()); //检测是否发送完毕90.}91.}92.}93./******************************************************** /94.else if(!KEY4) //如果检测到低电平,说明按键按下96.DelayMs(10); //延时去抖,一般10-20ms97.if(!KEY4) //再次确认按键是否按下,没有按下则退出98.{99.while(!KEY4);//如果确认按下按键等待按键释放,没有则退出100.{101.TxDate[0] = 0;//后退102.TxDate[1] = 1;103.TxDate[2] = 0;104.TxDate[3] = 1;105.NRFSetTxMode(TxDate);//发送数据106.while(CheckACK()); //检测是否发送完毕107.}108.}109.}110.else if(!KEY5)111.{112.DelayMs(10);113.if(!KEY5)114.{115.while(!KEY5)116.{117.TxDate[0] = 1;118.TxDate[1] = 1;119.TxDate[2] = 1;120.TxDate[3] = 1;121.NRFSetTxMode(TxDate);122.while(CheckACK());123.}125.}126.}127.}1.//////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////2.#include3.4.#include5.6.#include'1602.h'7.#include'delay.h'8.#include 'nrf24l01.h'9.#define uint unsigned int10.#define uchar unsigned char11.uint Weight;12.sbit a = P2^0;13.sbit b = P2^1;14.sbit c = P2^2;15.sbit d = P2^3;16.void main()17.{18.LCD_Init(); //初始化液晶屏19.LCD_Clear(); //清屏20.*(RevTempDate+4)=*\0*;21.NRF24L01Int();22.while(1)23.{25.NRFSetRXMode();//设置为接收模式26.GetDate();//开始接受数;27.//Weight=RevTempDate[0]*1000+RevTempDate[1]*100+RevTemp Date[2]*10+RevTempDate[3];28.LCD_Write_Char(7,0,RevTempDate[0]+0x30);29.LCD_Write_Char(8,0,RevTempDate[1]+0x30);30.LCD_Write_Char(9,0,RevTempDate[2]+0x30);31.LCD_Write_Char(10,0,RevTempDate[3]+0x30);32. a = RevTempDate[0];//根据接受数据来设置高低电平(目测仅限传输1.0两种数值)33. b = RevTempDate[1];34. c = RevTempDate[2];35. d = RevTempDate[3];36.}37.}38.39.///////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// //////////////1.#include2.3.#include 'nrf24l01.h'4.#define uchar unsigned char5.#define uint unsigned int6.sbit IRQ =P1^2;//输入7.sbit MISO =P1^3; //输入8.sbit MOSI =P1^1;//输出9.sbit SCLK =P1^4;//输出10.sbit CE =P1^5;//输出11.sbit CSN =P1^0;//输出12.uchar code TxAddr[]={0x34,0x43,0x10,0x10,0x01};//发送地址13./*****************状态标志*****************************************/14.uchar bdata sta; //状态标志15.sbit RX_DR=sta^6;16.sbit TX_DS=sta^5;17.sbit MAX_RT=sta^4;18./*****************SPI时序函数******************************************/19.uchar NRFSPI(uchar date)20.{21.uchar i;22.for(i=0;i<8;i++)>23.{24.if(date&0x80)25.MOSI=1;26.else27.MOSI=0; // byte最高位输出到MOSI28.date<=1;>29.SCLK=1;30.if(MISO) // 拉高SCK,nRF24L01从MOSI读入1位数据,同时从MISO输出1位数据31.date|=0x01; // 读MISO到byte最低位32.SCLK=0; // SCK置低33.}34.return(date); // 返回读出的一字节35.}36./**********************NRF24L01初始化函数*******************************/37.void NRF24L01Int()38.{39.DDelay(2);//让系统什么都不干40.CE=0; //待机模式141.CSN=1;42.SCLK=0;43.IRQ=1;44.}45./*****************SPI读寄存器一字节函数*********************************/46.uchar NRFReadReg(uchar RegAddr)47.{48.uchar BackDate;49.CSN=0;//启动时序50.NRFSPI(RegAddr);//写寄存器地址51.BackDate=NRFSPI(0x00);//写入读寄存器指令52.CSN=1;53.return(BackDate); //返回状态54.}55./*****************SPI写寄存器一字节函数*********************************/56.uchar NRFWriteReg(uchar RegAddr,uchar date)57.{58.uchar BackDate;59.CSN=0;//启动时序60.BackDate=NRFSPI(RegAddr);//写入地址61.NRFSPI(date);//写入值62.CSN=1;63.return(BackDate);64.}65./*****************SPI读取RXFIFO寄存器的值********************************/66.uchar NRFReadRxDate(uchar RegAddr,uchar *RxDate,uchar DateLen)67.{ //寄存器地址//读取数据存放变量//读取数据长度//用于接收68.uchar BackDate,i;69.CSN=0;//启动时序70.BackDate=NRFSPI(RegAddr);//写入要读取的寄存器地址71.for(i=0;i72.{73.RxDate[i]=NRFSPI(0);74.}75.CSN=1;76.return(BackDate);77.}78./*****************SPI写入TXFIFO寄存器的值**********************************/79.uchar NRFWriteTxDate(uchar RegAddr,uchar *TxDate,uchar DateLen)80.{ //寄存器地址//写入数据存放变量//读取数据长度//用于发送81.uchar BackDate,i;82.CSN=0;83.BackDate=NRFSPI(RegAddr);//写入要写入寄存器的地址84.for(i=0;i85.{86.NRFSPI(*TxDate++);87.}88.CSN=1;89.return(BackDate);90.}91./*****************NRF设置为发送模式并发送数据******************************/92.void NRFSetTxMode(uchar *TxDate)93.{//发送模式94.CE=0;95.NRFWriteTxDate(W_REGISTER+TX_ADDR,TxAddr,TX_A DDR_WITDH);//写寄存器指令+接收地址使能指令+接收地址+地址宽度96.NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH);//为了应答接收设备,接收通道0地址和发送地址相同97.NRFWriteTxDate(W_TX_PAYLOAD,TxDate,TX_DATA_WIT DH);//写入数据98./******下面有关寄存器配置**************/99.NRFWriteReg(W_REGISTER+EN_AA,0x01); // 使能接收通道0自动应答100.NRFWriteReg(W_REGISTER+EN_RXADDR,0x01); // 使能接收通道0101.NRFWriteReg(W_REGISTER+SETUP_RETR,0x0a); // 自动重发延时等待250us+86us,自动重发10次102.NRFWriteReg(W_REGISTER+RF_CH,0x40); // 选择射频通道0x40103.NRFWriteReg(W_REGISTER+RF_SETUP,0x07); // 数据传输率1Mbps,发射功率0dBm,低噪声放大器增益104.NRFWriteReg(W_REGISTER+CONFIG,0x0e); // CRC使能,16位CRC校验,上电105.CE=1;106.DDelay(5);//保持10us秒以上107.}108./*****************NRF设置为接收模式并接收数据******************************/109.//主要接收模式110.void NRFSetRXMode()111.{112.CE=0;113.NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH); // 接收设备接收通道0使用和发送设备相同的发送地址114.NRFWriteReg(W_REGISTER+EN_AA,0x01); // 使能接收通道0自动应答115.NRFWriteReg(W_REGISTER+EN_RXADDR,0x01); // 使能接收通道0116.NRFWriteReg(W_REGISTER+RF_CH,0x40); // 选择射频通道0x40117.NRFWriteReg(W_REGISTER+RX_PW_P0,TX_DATA_WIT DH); // 接收通道0选择和发送通道相同有效数据宽度118.NRFWriteReg(W_REGISTER+RF_SETUP,0x07); // 数据传输率1Mbps,发射功率0dBm,低噪声放大器增益*/119.NRFWriteReg(W_REGISTER+CONFIG,0x0f); // CRC使能,16位CRC校验,上电,接收模式120.CE = 1;121.DDelay(5);//保持10us秒以上122.}123./****************************检测应答信号******************************/124.uchar CheckACK()125.{ //用于发射126.sta=NRFReadReg(R_REGISTER+STATUS); // 返回状态寄存器127.if(TX_DS||MAX_RT) //发送完毕中断128.{129.NRFWriteReg(W_REGISTER+STATUS,0xff); // 清除TX_DS或MAX_RT中断标志130.CSN=0;131.NRFSPI(FLUSH_TX);//用于清空FIFO !!关键!!不然会出现意想不到的后果大家记住!!132.CSN=1;133.return(0);134.}135.else136.return(1);137.}138./******************判断是否接收收到数据,接到就从RX 取出*********************/139.//用于接收模式140.uchar NRFRevDate(uchar *RevDate)141.{142.uchar RevFlags=0;143.sta=NRFReadReg(R_REGISTER+STATUS);//发送数据后读取状态寄存器144.if(RX_DR) // 判断是否接收到数据145.{146.CE=0; //SPI使能147.NRFReadRxDate(R_RX_PAYLOAD,RevDate,RX_DATA_WI TDH);// 从RXFIFO读取数据148.RevFlags=1; //读取数据完成标志149.}150.NRFWriteReg(W_REGISTER+STATUS,0xff); //接收到数据后RX_DR,TX_DS,MAX_PT都置高为1,通过写1来清楚中断标151.return(RevFlags);152.}153.void DDelay(uint t)154.{155.uint x,y;156.for(x=t;x>0;x--)157.for(y=110;y>0;y--);158.}159.///////////////////////////////////////////////////////////// ///////////////////////////////////////////1.#include 'delay.h'2./*------------------------------------------------延时函数,含有输入参数 unsigned char t,无返回值4.unsigned char 是定义无符号字符变量,其值的范围是5.0~255 这里使用晶振12M,精确延时请使用汇编,大致延时6.长度如下 T=tx2+5 uS7.------------------------------------------------*/8.void DelayUs2x(unsigned char t)9.{10.while(--t);11.}12./*------------------------------------------------13.mS延时函数,含有输入参数 unsigned char t,无返回值14.unsigned char 是定义无符号字符变量,其值的范围是15.0~255 这里使用晶振12M,精确延时请使用汇编16.------------------------------------------------*/17.void DelayMs(unsigned char t)18.{19.20.while(t--)21.{22.//大致延时1mS23.DelayUs2x(245);24.DelayUs2x(245);25.26.}27.}28.///////////////////////////////////////////////////////////// //////////////////////////////1.下面是接收的NRF24L01的程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NRF24L01+SMD(贴片)无线传输模块
一.产品特点:
1.2.4G全球开放ISM频段,最大0dBm发射功率,免许可证使用
2.支持六路通道的数据接收,2Mbit/s使得高质量的VoIP成为可能
3.2MBPS速率下接收时的峰值电流12.5mA
4.在2Mbit/s速率下@0dBm输出时的峰值电流11mA
5.掉电模式下的功耗400nA
6.待机模式下的功耗32uA
7.130us的快速切换和唤醒时间
8.可在1.9to3.6V低电压工作
9.19mm*12mm超小尺寸,管脚间距1.27mm
应用:遥控、遥测、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系
统、生物信号采集、无线232、无线422/485数据通信等。
二.引脚说明:
管脚功能方向备注
PIN1VCC电源,1.9-3.6V输入
PIN2CE工作模式选择,TX或RX模式选择I
PIN3CSN SPI片选使能,低电平使能I
PIN4SCK SPI时钟I
PIN5MOSI SPI输入I
PIN6MISO SPI输出O
PIN7IRQ中断输出O
PIN8GND地线
表2-1引脚说明
三.硬件接口:
四.典型应用:。