43,25 → 43,25 |
#define I2C_ERR_BUFFER_OVERRUN 0x38 |
|
typedef struct { |
char buffer_in[MAXI2CBUF]; |
char buffer_in_len; |
char buffer_in_len_tmp; |
char buffer_in_read_ind; |
char buffer_in_write_ind; |
uint8_t buffer_in[MAXI2CBUF]; |
uint8_t buffer_in_len; |
uint8_t buffer_in_len_tmp; |
uint8_t buffer_in_read_ind; |
uint8_t buffer_in_write_ind; |
|
char buffer_out[MAXI2CBUF]; |
char buffer_out_len; |
char buffer_out_ind; |
uint8_t buffer_out[MAXI2CBUF]; |
uint8_t buffer_out_len; |
uint8_t buffer_out_ind; |
|
char operating_mode; |
char operating_state; |
char return_status; |
uint8_t operating_mode; |
uint8_t operating_state; |
uint8_t return_status; |
|
char master_dest_addr; |
char master_status; |
uint8_t master_dest_addr; |
uint8_t master_status; |
|
char slave_in_last_byte; |
char slave_sending_data; |
uint8_t slave_in_last_byte; |
uint8_t slave_sending_data; |
} I2C_DATA; |
|
void I2C_Init(I2C_DATA *data); |
68,14 → 68,14 |
void I2C_Interrupt_Handler(void); |
void I2C_Interrupt_Slave(void); |
void I2C_Interrupt_Master(void); |
void I2C_Configure_Slave(char); |
void I2C_Configure_Master(char speed); |
void I2C_Master_Send(char address, char length, char *msg); |
void I2C_Master_Recv(char address, char length); |
void I2C_Master_Restart(char address, char msg, char length); |
char I2C_Get_Status(void); |
char I2C_Buffer_Len(void); |
char I2C_Read_Buffer(char *buffer); |
char I2C_Process_Send(char); |
void I2C_Configure_Slave(uint8_t address); |
void I2C_Configure_Master(uint8_t speed); |
void I2C_Master_Send(uint8_t address, uint8_t length, uint8_t *msg); |
void I2C_Master_Recv(uint8_t address, uint8_t length); |
void I2C_Master_Restart(uint8_t address, uint8_t msg, uint8_t length); |
uint8_t I2C_Get_Status(void); |
uint8_t I2C_Buffer_Len(void); |
uint8_t I2C_Read_Buffer(uint8_t *buffer); |
uint8_t I2C_Process_Receive(uint8_t); |
|
#endif |