📄 xe1205driver.h
字号:
** BitRate 152340 **
** **
*******************************************************************/
#define TS_FEI(RegBr) (_U16)(((_F32)((RegBr & 0x7F) + 1) * (_F32)4915200) / (_F32)152340) // FEI wake-up time
/*******************************************************************
** **
** // RF_BUFFER_SIZE * 8 * (SYNC_BYTE_FREQ + 1) \ \
** CounterA&B value = || -------------------------------------------- | * 128 Hz | + 1
** \\ SYNC_BYTE_FREQ * BitRate / /
** **
** The plus 1 at the end of formula is required for the highest **
** baudrate as the resulting timeout is lower than the 1 / 128Hz **
*******************************************************************/
#define RF_FRAME_TIMEOUT(BitRate) (_U16)(_F32)((((_F32)((_U32)RF_BUFFER_SIZE * (_U32)8 *((_U32)SYNC_BYTE_FREQ + (_U32)1)) / (_F32)((_U32)SYNC_BYTE_FREQ * (_U32)BitRate)) * (_F32)128) + (_F32)1)
/*******************************************************************
** Functions prototypes **
*******************************************************************/
/*******************************************************************
** Configuration functions **
*******************************************************************/
/*******************************************************************
** InitRFChip : This routine initializes the RFChip registers **
** Using Pre Initialized variable **
********************************************************************
** In : - **
** Out : - **
*******************************************************************/
void InitRFChip (void);
/*******************************************************************
** SetRFMode : Sets the XE1203 operating mode (Sleep, Receiver, **
** Transmitter) **
********************************************************************
** In : mode **
** Out : - **
*******************************************************************/
void SetRFMode(_U8 mode);
/*******************************************************************
** WriteRegister : Writes the register value at the given address **
** on the XE1203 **
********************************************************************
** In : address, value **
** Out : - **
*******************************************************************/
void WriteRegister(_U8 address, _U16 value);
/*******************************************************************
** ReadRegister : Reads the register value at the given address on**
** the XE1203 **
********************************************************************
** 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);
/*******************************************************************
** SendByte : Sends a data to the transceiver trough the SPI **
** interface **
********************************************************************
** In : b **
** Out : - **
*******************************************************************/
/*******************************************************************
** Information **
********************************************************************
** This function has been optimized to send a byte to the **
** transceiver SPI interface as quick as possible by using **
** IO ports. **
** If the microcontroller has an SPI hardware interface there is **
** no need to optimize the function **
*******************************************************************/
void SendByte(_U8 b);
/*******************************************************************
** ReceiveByte : Receives a data from the transceiver trough the **
** SPI interface ** **
********************************************************************
** In : - **
** Out : b **
*******************************************************************/
/*******************************************************************
** Information **
********************************************************************
** This function has been optimized to receive a byte from the **
** transceiver SPI interface as quick as possible by using **
** IO ports. **
** If the microcontroller has an SPI hardware interface there is **
** no need to optimize the function **
*******************************************************************/
_U8 ReceiveByte(void);
/*******************************************************************
** 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 XE1203 **
********************************************************************
** In : - **
** Out : value **
*******************************************************************/
_U16 ReadLO(void);
/*******************************************************************
** WriteLO : Writes the LO frequency value on the XE1203 **
********************************************************************
** In : value **
** Out : - **
*******************************************************************/
void WriteLO(_U16 value);
/*******************************************************************
** InitFei : Initializes the XE1203 to enable the FEI reading **
********************************************************************
** In : - **
** Out : - **
*******************************************************************/
void InitFei(void);
/*******************************************************************
** ReadFei : Reads the FEI value from XE1203 **
********************************************************************
** In : - **
** Out : value **
*******************************************************************/
_S16 ReadFei(void);
/*******************************************************************
** InitRssi : Initializes the XE1203 to enable the RSSI reading **
********************************************************************
** In : - **
** Out : - **
*******************************************************************/
void InitRssi(void);
/*******************************************************************
** ReadRssi : Reads the Rssi value from XE1203 **
********************************************************************
** 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 + -