📄 nrf24l01.h
字号:
#ifndef _NRF24L01_H_#define _NRF24L01_H_
//
//PIN MAP, Mega88+nRF24L01
//All pin connect direction, "No" pull-up , pull-Dow
//
//#define nRF24L01_MISO PINB3 ---> DD_MOSI
//#define nRF24L01_MOSI PINB4 ---> DD_MISO
//#define nRF24L01_SCK PINB5 ---> DD_SCK
//#define nRF24L01_IRQ PIND5
//#define nRF24L01_CE PIND6
//#define nRF24L01_CSN PIND7
//*********** SPI Function *******************//
#define DDR_SPI DDRB // SPI PORT PIN
#define DD_SIGNAL DDB0
#define DD_SS DDB2 // SS (SS) pin(PB4) // Not used for spi-16bit
#define DD_MOSI DDB3 // MOSI(DI) pin(PB5)
#define DD_MISO DDB4 // MOSI(DI) pin(PB5)
#define DD_SCK DDB5 // SCK (CLK) pin(PB7)
#define nRF24L01_PORT PORTD
#define nRF24L01_IRQ PIND5
#define nRF24L01_CE PIND6
#define nRF24L01_CSN PIND7
//CONSTANTS
#define NRF_NOP 0xff
#define R_REGISTER 0x00
#define W_REGISTER 0x01
#define R_RX_PAYLOAD 0x61
#define W_TX_PAYLOAD 0xA0
#define FLUSH_TX 0xE1
#define FLUSH_RX 0xE2
#define REUSE_TX_PL 0xE3
#define RX_ADDR_P0 0x0A
#define RX_ADDR_P1 0x0B
#define TX_ADDR 0x10
#define RX_PW_P0 0x11
#define RX_PW_P1 0x12
#define FIFO_STATUS 0x17
#define MAX_RT 0x10
#define CONFIG_REG_ADDR 0x00
#define STATUS_ADDR 0x07
#define TX_FULL 0x01
#define RX_DR 0x40
#define TX_DS 0x20
#define RX_TX_TIME 10000
#define BUT_TIME 1000
#define CSN_TIME 20
#define CE_HIGH_TIME 700
/// Receive the packets with following address
volatile static unsigned char RX_ADDRESS_P0[5] = {5,6,7,8,9};
/// Receive the packets with following address
volatile static unsigned char RX_ADDRESS_P1[5] = {0,1,2,3,4};
/// Transmit packets with following address
volatile static unsigned char TX_ADDRESS[5] = {5,6,7,8,9};
volatile static unsigned char ADDRESS[5];
volatile static unsigned char timerFlag=0;
volatile static unsigned char payload;
volatile static unsigned char c;
volatile static unsigned char status_temp;
volatile static unsigned char status;
/*********** General Prototype *****************/
extern unsigned char SPI_SendByte(unsigned char DataIn);
extern void SPI_MasterInit(void);
extern void CSN_HIGH(void);
extern void CSN_LOW (void);
extern void CE_HIGH(void);
extern void CE_LOW(void);
extern void NRF_send (unsigned char dataIn);
extern void NRF_init (void);
extern unsigned char NRF_receive (unsigned char * dataIn);
extern void NRF_prepareForReceive (void);
extern unsigned char SPI_Send_command_with_ADDR (unsigned char cmd, unsigned char addr, unsigned char data_byte);
extern unsigned char SPI_Send_command_without_ADDR (unsigned char cmd, unsigned char data_byte);
extern unsigned char check_recieve_nrf24L01(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -