延迟130μs后发射数据。若自动应答开启,那么
RF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据自动重发已开启。若重发次数达到上限,MAX_RT置高,TXFIFO中数据保留以便再次重发。MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知ATmega16L。最后发射成功时。若CE为低,则
RF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。
工作模式接收模式
表2
RF24L01工作模式及配置
PWR_UPRIM_RCE
P1
X1
1
FIFO寄存器状态数据在RXFIFO寄存器中
发射模式
1
0
1
数据在TXFIFO寄存器中
发射模式
1
0
下降沿停留在发送模式,直至数据发送完
待机模式1
1
0
0
无数据传输
待机模式2
1
0
1
TXFIFO为空
掉电
0
0
0
无数据传输
接收数据:首先将
RF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方监测到有效的地址和CRC时,就将数据包存储在RXFIFO数据寄存器中,同时中断标志位RX_DR置高,IRQ变低,产生中断,进入中断服务子程序,通知单片机ATmega16L去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。若自动应答未开启,则不进入发射状态。最后接收成功时,若CE变低,则
RF24L01进入空闲模式1。
f326
RF24L01配置字SPI口为同步串行通信接口,最大传输速率为10Mbs,传输时先传送低位字节,
再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由
RF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给单片机ATmega16L。
RF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。
RF24L01的配置寄存器共有25个,常用的配置寄存器如表3所示。
地址(H)000102030407
0A0F10
1116
表3
RF24L01常用配置寄存器
寄存器名称
功能
CONFIG
设置
RF24L01工作模式
EN_AA
设置接收通道及自动应答
EN_RXADDRSETUP_AWSETUP_RETR
STATUSRX_ADDR_P0P5
TX_ADDRRX_PW_P0P5
使能接收通道地址设置地址宽度
设置自动重发数据时间和次数状态寄存器,用来判定工作状态
设置接收通道地址设置接收节点地址设置接收通道的有效数据宽度
33数字温湿度传感器AM2301331AM2301概述
AM2301数字温湿度传感器,别称为DHT21温湿度传感器,是电阻式感湿元件DHT11湿度传感器的升级r