📄 xe1205driver.h
字号:
** BitJockey Standard parameters **
*******************************************************************/
// All the values are calculated for microcontroller RC frequency = 2457600 Hz
// RegRfifCmd1
#define RFIF_BAUDRATE_1200 0x37
#define RFIF_BAUDRATE_2400 0x33
#define RFIF_BAUDRATE_4800 0x31
#define RFIF_BAUDRATE_9600 0x21
#define RFIF_BAUDRATE_19200 0x11
#define RFIF_BAUDRATE_38400 0x10
#define RFIF_BAUDRATE_76800 0x01
#define RFIF_BAUDRATE_153600 0x00
// RegRfifCmd2
#define RFIF_EN_START_INTERNAL 0xC0
#define RFIF_EN_START_EXTERNAL 0x80
#define RFIF_EN_START_PROTOCOL 0x40
#define RFIF_EN_DECODER 0x20
#define RFIF_RX_CLOCK 0x10
#define RFIF_TX_CLOCK 0x08
#define RFIF_PCM_NRZ_MARK 0x01
#define RFIF_PCM_NRZ_SPACE 0x02
#define RFIF_PCM_BPH_LEVEL 0x03
#define RFIF_PCM_BPH_MARK 0x04
#define RFIF_PCM_BPH_SPACE 0x05
#define RFIF_PCM_MILLER 0x06
// RegRfifCmd3
#define RFIF_RX_IRQ_EN_FULL 0x80
#define RFIF_RX_IRQ_EN_NEW 0x40
#define RFIF_RX_IRQ_EN_START 0x20
#define RFIF_RX_IRQ_FULL 0x10
#define RFIF_RX_IRQ_NEW 0x08
#define RFIF_RX_IRQ_START 0x04
#define RFIF_EN_RX 0x02
#define RFIF_EN_TX 0x01
// RFIF modes
#define RFIF_DISABLE 0
#define RFIF_TRANSMITTER 1
#define RFIF_RECEIVER 2
#define RFIF_OTHERS 3
/*******************************************************************
** Functions prototypes **
*******************************************************************/
/*******************************************************************
** Configuration functions **
*******************************************************************/
/*******************************************************************
** InitRFChip : This routine initializes the RFChip registers **
** Using Pre Initialized variable **
********************************************************************
** In : - **
** Out : - **
*******************************************************************/
void InitRFChip (void);
/*******************************************************************
** SetRFMode : Sets the XE1205 operating mode (Sleep, Receiver, **
** Transmitter) **
********************************************************************
** In : mode **
** Out : - **
*******************************************************************/
void SetRFMode(_U8 mode);
/*******************************************************************
** SetModeRFIF : Sets the BitJockey in the given mode **
********************************************************************
** In : mode **
** Out : **
*******************************************************************/
void SetModeRFIF(_U8 mode);
/*******************************************************************
** WriteRegister : Writes the register value at the given address **
** on the XE1205 **
********************************************************************
** In : address, value **
** Out : - **
*******************************************************************/
void WriteRegister(_U8 address, _U16 value);
/*******************************************************************
** ReadRegister : Reads the register value at the given address on**
** the XE1205 **
********************************************************************
** In : address **
** Out : value **
*******************************************************************/
_U16 ReadRegister(_U8 address);
/*******************************************************************
** Communication functions **
*******************************************************************/
/*******************************************************************
** SendRfFrame : Sends a RF frame **
********************************************************************
** In : *buffer, size **
** Out : *pReturnCode **
*******************************************************************/
void SendRfFrame(_U8 *buffer, _U8 size, _U8 *pReturnCode);
/*******************************************************************
** ReceiveRfFrame : Receives a RF frame **
********************************************************************
** In : - **
** Out : *buffer, size, *pReturnCode **
*******************************************************************/
void ReceiveRfFrame(_U8 *buffer, _U8 *size, _U8 *pReturnCode);
/*******************************************************************
** Transceiver specific functions **
*******************************************************************/
/*******************************************************************
** AutoFreqControl : Calibrates the receiver LO frequency to the **
** transmitter LO frequency **
********************************************************************
** In : - **
** Out : *pReturnCode **
*******************************************************************/
void AutoFreqControl(_U8 *pReturnCode);
/*******************************************************************
** ReadLO : Reads the LO frequency value from XE1205 **
********************************************************************
** In : - **
** Out : value **
*******************************************************************/
_U16 ReadLO(void);
/*******************************************************************
** WriteLO : Writes the LO frequency value on the XE1205 **
********************************************************************
** In : value **
** Out : - **
*******************************************************************/
void WriteLO(_U16 value);
/*******************************************************************
** InitFei : Initializes the XE1205 to enable the FEI reading **
********************************************************************
** In : - **
** Out : - **
*******************************************************************/
void InitFei(void);
/*******************************************************************
** ReadFei : Reads the FEI value from XE1205 **
********************************************************************
** In : - **
** Out : value **
*******************************************************************/
_S16 ReadFei(void);
/*******************************************************************
** InitRssi : Initializes the XE1205 to enable the RSSI reading **
********************************************************************
** In : - **
** Out : - **
*******************************************************************/
void InitRssi(void);
/*******************************************************************
** ReadRssi : Reads the Rssi value from XE1205 **
********************************************************************
** In : - **
** Out : value **
*******************************************************************/
_U16 ReadRssi(void);
/*******************************************************************
** Utility functions **
*******************************************************************/
/*******************************************************************
** Wait : This routine uses the counter A&B to create a delay **
** using the RC ck source **
********************************************************************
** In : cntVal **
** Out : - **
*******************************************************************/
void Wait(_U16 cntVal);
/*******************************************************************
** EnableTimeOut : Enables/Disables the RF frame timeout **
********************************************************************
** In : enable **
** Out : - **
*******************************************************************/
void EnableTimeOut(_U8 enable);
/*******************************************************************
** InvertByte : Inverts a byte. MSB -> LSB, LSB -> MSB **
********************************************************************
** In : b **
** Out : b **
*******************************************************************/
_U8 InvertByte(_U8 b);
/*******************************************************************
** SpiInOut : Sends and receives a byte from the SPI bus **
********************************************************************
** In : outputByte **
** Out : inputByte **
*******************************************************************/
_U8 SpiInOut (_U8 outputByte);
#endif /* __XE1205DRIVER__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -