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

📄 hal_spear_i2c.h

📁 Spearhead2000的bootloader
💻 H
字号:
#ifndef HAL_SPEAR_I2C_H#define HAL_SPEAR_I2C_Hstatic unsigned int Timeoutcount;#define I2C_Peripheral_Disable() (I2CCR &= 0x1F)             /* Disables I2C */typedef enum{	I2C_DEFAULT_PARAM1              = (unsigned char) 0x00,	I2C_ENABLE_ACK                  = (unsigned char) 0x04,	I2C_IT_ENABLE                   = (unsigned char) 0x01}   I2C_InitParam;/* Parameters for configuring I2C in transmitter/ receiver mode */typedef enum{	I2C_TX_MODE                     = (unsigned char) 0x00,	I2C_RX_MODE                     = (unsigned char) 0x01,}I2C_Mode;/* Parameters for selecting the speed mode */typedef enum{	I2C_DEFAULT_PARAM2              = (unsigned char) 0x00,	I2C_FASTSPEED                   = (unsigned char) 0x80}I2C_SpeedMode;/* Transmission status parameters */typedef enum{	I2C_TX_BUFFER_ONGOING           = (unsigned char) 0xFF,	I2C_TX_STRING_ONGOING           = (unsigned char) 0xFE,        I2C_HEADERADD_TX_OK             = (unsigned char) 0x40,	I2C_TX_AF                       = (unsigned char) 0x10,	I2C_START_OK                    = (unsigned char) 0x08,	I2C_TX_ARLO                     = (unsigned char) 0x04,	I2C_TX_BERR                     = (unsigned char) 0x02,	I2C_ADD_TX_OK                   = (unsigned char) 0x01,	I2C_DATA_TX_OK                  = (unsigned char) 0x00}I2C_TxErrCode_t;/* Reception status parameters */typedef enum {	I2C_RX_BUFFER_ONGOING           = (unsigned char) 0xFF,	I2C_RX_DATA_EMPTY               = (unsigned char) 0xFE,	I2C_RX_BERR                     = (unsigned char) 0x02,	I2C_RX_ARLO                     = (unsigned char) 0x04,	I2C_RX_AF                       = (unsigned char) 0x10,	I2C_DATA_RX_OK                  = (unsigned char) 0x00}I2C_RxErrCode_t;/* Parameters for enabling or disabling ACK bit */typedef enum{	I2C_ACK_ENABLE                  = (unsigned char) 0x04,	I2C_ACK_DISABLE                 = (unsigned char) 0x00}I2C_ACK_Param;int I2C_Generate_Start( void ); /*Generate start condition *//* Description of all the functions defined in this module */int I2C_Init (I2C_InitParam Init_Value) ;                 /* Initialise I2C */void I2C_Select_Speed (I2C_SpeedMode Speed_Value, unsigned int I2C_Speed);         /* Selects the I2C clock speed both in standard and fast speed mode */int I2C_Load_Address (unsigned char Addr_Byte, I2C_Mode Mode_Value);/* Transmits slave address */int I2C_SendByte (unsigned char Tx_Data);   /* Transmits single byte of data */unsigned char I2C_ReceiveByte (void);   /* Returns the received single data byte */int I2C_Generate_Stop (void);                    /* Generate stop condition */void I2C_ACK (I2C_ACK_Param ACK_Value);unsigned char I2C_RecieveByte(void);I2C_RxErrCode_t I2C_RecieveBuffer(unsigned char *PtrToBuffer,   int NbOfBytes);I2C_TxErrCode_t I2C_IsTransmitCompleted(void);I2C_RxErrCode_t I2C_IsReceptionCompleted(void);int User_Timeout_Function(void);int I2C_IsStopGen (void);int I2C_SendBuffer (const unsigned char *PtrToBuffer, int NbOfBytes);I2C_TxErrCode_t I2C_MultiWriteRegister16( unsigned char SlaveAddress, int Index, char * PtrToBuffer,int  NbOfBytes);I2C_TxErrCode_t I2C_MultiWriteRegister8( unsigned char SlaveAddress, short int Index, char * PtrToBuffer,int  NbOfBytes);I2C_RxErrCode_t I2C_MultiReadRegister16( unsigned char SlaveAddress, short int Index, char * PtrToBuffer,int  NbOfBytes);I2C_RxErrCode_t I2C_MultiReadRegister8( unsigned char SlaveAddress, unsigned char Index, char * PtrToBuffer,int  NbOfBytes);I2C_TxErrCode_t I2C_MultiWritePages( unsigned char SlaveAddress, short int Index, char * PtrToBuffer,int  NbOfBytes);#endif

⌨️ 快捷键说明

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