Line 11... |
Line 11... |
#define _I2C_MASTER_SLAVE_H_
|
#define _I2C_MASTER_SLAVE_H_
|
|
|
extern const int i2c_base_adr[4];
|
extern const int i2c_base_adr[4];
|
//Memory mapping adresses
|
//Memory mapping adresses
|
|
|
#define PRERlo 0x0 // Clock prescaler register
|
#define I2C_MASTER_SLAVE_PRERlo 0x0 // Clock prescaler register
|
#define PRERhi 0x1 // Clock prescaler register
|
#define I2C_MASTER_SLAVE_PRERhi 0x1 // Clock prescaler register
|
#define CTR 0x2 // Control register
|
#define I2C_MASTER_SLAVE_CTR 0x2 // Control register
|
#define TXR 0x3 // Transmit register
|
#define I2C_MASTER_SLAVE_TXR 0x3 // Transmit register
|
#define RXR 0x3 // Recive register
|
#define I2C_MASTER_SLAVE_RXR 0x3 // Recive register
|
#define CR 0x4 // Controll register
|
#define I2C_MASTER_SLAVE_CR 0x4 // Control register
|
#define SR 0x4 // Status register
|
#define I2C_MASTER_SLAVE_SR 0x4 // Status register
|
#define SLADR 0x7 // Slave address register
|
#define I2C_MASTER_SLAVE_SLADR 0x7 // Slave address register
|
|
|
|
#define I2C_MASTER_SLAVE_CTR_CORE_ENABLE 0x80
|
#define CTR_CORE_ENABLE 0x80
|
#define I2C_MASTER_SLAVE_CTR_INTR_ENABLE 0x40
|
#define CTR_INTR_ENABLE 0x40
|
#define I2C_MASTER_SLAVE_CTR_SLAVE_ENABLE 0x20
|
#define CTR_SLAVE_ENABLE 0x20
|
|
|
#define I2C_MASTER_SLAVE_CR_START 0x80
|
#define CR_START 0x80
|
#define I2C_MASTER_SLAVE_CR_STOP 0x40
|
#define CR_STOP 0x40
|
#define I2C_MASTER_SLAVE_CR_READ 0x20
|
#define CR_READ 0x20
|
#define I2C_MASTER_SLAVE_CR_WRITE 0x10
|
#define CR_WRITE 0x10
|
#define I2C_MASTER_SLAVE_CR_ACK 0x08
|
#define CR_ACK 0x08
|
#define I2C_MASTER_SLAVE_CR_SL_CONT 0x02
|
#define CR_SL_CONT 0x02
|
#define I2C_MASTER_SLAVE_CR_IACK 0x01
|
#define CR_IACK 0x01
|
|
|
#define I2C_MASTER_SLAVE_SR_RXACK 0x80
|
#define SR_RXACK 0x80
|
#define I2C_MASTER_SLAVE_SR_BUSY 0x40
|
#define SR_BUSY 0x40
|
#define I2C_MASTER_SLAVE_SR_ARB_LOST 0x20
|
#define SR_ARB_LOST 0x20
|
#define I2C_MASTER_SLAVE_SR_SLAVE_MODE 0x10
|
#define SR_SLAVE_MODE 0x10
|
#define I2C_MASTER_SLAVE_SR_SLAVE_DATA_AVAIL 0x08
|
#define SR_SLAVE_DATA_AVAIL 0x08
|
#define I2C_MASTER_SLAVE_SR_SLAVE_DATA_REQ 0x04
|
#define SR_SLAVE_DATA_REQ 0x04
|
#define I2C_MASTER_SLAVE_SR_TRANSFER_IN_PRG 0x02
|
#define SR_TRANSFER_IN_PRG 0x02
|
#define I2C_MASTER_SLAVE_SR_IRQ_FLAG 0x01
|
#define SR_IRQ_FLAG 0x01
|
|
|
|
|
int i2c_master_slave_init_core(int core, unsigned short prescaler,
|
int i2c_master_slave_initI2C(int core, unsigned short prescaler,
|
|
int interrupt_enable);
|
int interrupt_enable);
|
|
int i2c_master_slave_deact_core(int core);
|
int i2c_master_slave_initI2CSlave (int core, char addr);
|
int i2c_master_slave_init_as_slave(int core, char addr);
|
int i2c_master_slave_deactI2CSlave (int core);
|
int i2c_master_slave_deact_as_slave(int core);
|
int i2c_master_slave_masterStart(int core, unsigned char addr, int read);
|
int i2c_master_slave_master_start(int core, unsigned char addr, int read);
|
int i2c_master_slave_masterWrite(int core, unsigned char data,
|
int i2c_master_slave_master_write(int core, unsigned char data,
|
int check_prev_ack, int stop);
|
int check_prev_ack, int stop);
|
int i2c_master_slave_masterStop(int core);
|
int i2c_master_slave_master_stop(int core);
|
int i2c_master_slave_masterRead(int core, int check_prev_ack, int stop,
|
int i2c_master_slave_master_read(int core, int check_prev_ack, int stop,
|
char* data);
|
char* data);
|
int i2c_master_slave_ackInterrupt(int core);
|
int i2c_master_slave_ack_interrupt(int core);
|
#endif
|
#endif
|
|
|
No newline at end of file
|
No newline at end of file
|