⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nrf2401.h

📁 ATmega16+nrf2401 Main functions to adjust, transmit, recieve information using nrf2401.
💻 H
字号:
/* 
Arduino based NRF2401 Header File 
Created by Sam Berro -- samberro@gmail.com 
*/ 

#ifndef NRF2401_H 
#define NRF2401_H 

#include "WConstants.h" 

#ifdef __cplusplus 
extern "C" { 
#endif 


#define RX true 
#define TX false 

#define kbps240 false 
#define kbps1000 true 

#define SHOCKBURST true 
#define DIRECT false 

typedef struct { 
    uint8_t CE; 
    uint8_t CS; 
    uint8_t DR1; 
    uint8_t CLK;    
    uint8_t DATA; 
} nrf2401_pins_t; 

extern nrf2401_pins_t; 

/* ---- nrf2401_config_t struct was adopted from Timothy Willman's implementation ---- */ 
typedef struct { 
    uint8_t data2w; 
    uint8_t data1w; 
    uint8_t addr2[5]; 
    uint8_t addr1[5]; 
    
    uint8_t addrw_crc;  /* addr_w:6 crc_l:1 crc_en:1 (hi-lo) */ 
    uint8_t misc;        /*  rx2_en:1 cm:1 rfdr_sb:1 xo_f:3 rf_pwr:2 (hi-lo) */ 
    uint8_t rf_ch_rxen;  /* rf_ch:7 rxen:1 (hi-lo) */ 
} nrf2401_config_t; 

extern nrf2401_config_t nrf2401_config; 
extern nrf2401_pins_t nrf2401_pins; 

/*--------- MAIN FUNCTIONS: Call these functions ----------*/ 
void nrf2401_Init(); 
boolean nrf2401_available(); 
void nrf2401_getPacket(uint8_t*); 
void nrf2401_sendPacket(const uint8_t*, const uint8_t*); 
boolean nrf2401_getOpMode(); 
void nrf2401_setOpMode(boolean); 

/* ---------- Functions to set the config word. Need to call nrf2401_Init for changes to take effect -------*/ 
void nrf2401_setRX(boolean); 
void nrf2401_setChnl(uint8_t); 
void nrf2401_setPow(uint8_t); 
void nrf2401_setFreq(uint8_t); 
void nrf2401_setDRate(boolean); 
void nrf2401_setCM(boolean); 
void nrf2401_setRX2EN(boolean); 
void nrf2401_setCRCEN(boolean); 
void nrf2401_setCRC16(boolean); 
void nrf2401_setADDRW(uint8_t); 
void nrf2401_setADDR1(const uint8_t*); 
void nrf2401_setADDR2(const uint8_t*); 
void nrf2401_setData1W(uint8_t); 
void nrf2401_setData2W(uint8_t); 

/* ------ Helper Functions -------*/ 
void nrf2401_toggleByte(const uint8_t); 



#ifdef __cplusplus 
}; 
#endif 

#endif /* #ifndef NRF2401_H ... */ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -