读取状态寄存其来判断数据接收状况ifRX_DR接收到数据了RX_OK1ifTX_DS数据发送完毕TX_OK1ifMAX_RTMAX_RT_OK1文件名NRF24L01h创建人动车组日期2012821功能描述用NRF24L01发送一定字节数的数据或者接收数据占用资源四位控制SPI总线的IO线和1位NRF24L01模式控制引脚占用一个中段if
def__NRF24L01_H__defi
e__NRF24L01_H__i
cludeREG52Hdefi
eui
tu
sig
edi
tdefi
eucharu
sig
edcharSPI引脚号sbitMISOP167主入从出sbitSCKP175SPI时钟由主机产生sbitCSNP374SPI使能为1时SPI禁止sbitMOSIP156主出从入NRF24L01引脚sbitCEP36sbitIRQP33中断引脚defi
eTX_PLOAD_WIDTH32发送字节数在这里设置发送和接收要一样
fdefi
eRX_PLOAD_WIDTH32
接收字节数在这里设置
voidi
it_NRF24L01voidNRF24L01初始化已经中断初始化了voidSet_Modecharb设置模式:b为0时是发送模式为1时是接收模式bit
RF24L01_TxPacketuchartx_buf发送tx_buf中数据返回1数据发送bit
RF24L01_RxPacketucharrx_buf返回1时数据读取后放如rx_buf接收缓冲区中否则没有数据
defi
eTX_ADR_WIDTHdefi
eRX_ADR_WIDTH
55
5ui
tsTXaddresswidth5ui
tsRXaddresswidth
NRF24L01寄存器指令defi
eREAD_REG0x00读寄存器指令000AAAAA读配置寄存器AAAAA指出读操作的寄存器地址defi
eWRITE_REG0x20写寄存器指令001AAAAA写配置寄存器AAAAA指出写操作的寄存器地址只有在掉电模式和待机模式下可操作defi
eRD_RX_PLOAD0x61读取接收数据指令01100001读RX有效数据132字节读操作全部从字节0开始当读RX有效数据完成后FIFO寄存器中有效数据被清除应用于接收模式下defi
eWR_TX_PLOAD0xA0写待发数据指令10100000写TX有效数据132字节写操作从字节0开始应用于发射模式下r