26#ifndef __XC_DRV_SW_I2C_H_
27#define __XC_DRV_SW_I2C_H_
42#define SDA_OUT_HIGH(pin) \
44 xc_gpio_direction_config(pin, GPIO_DIR_OUTPUT); \
45 xc_gpio_write_pin(pin, GPIO_PIN_SET); \
47#define SDA_OUT_LOW(pin) \
49 xc_gpio_direction_config(pin, GPIO_DIR_OUTPUT); \
50 xc_gpio_write_pin(pin, GPIO_PIN_RESET); \
53#define SCL_OUT_HIGH(pin) \
55 xc_gpio_direction_config(pin, GPIO_DIR_OUTPUT); \
56 xc_gpio_write_pin(pin, GPIO_PIN_SET); \
59#define SCL_OUT_LOW(pin) \
61 xc_gpio_direction_config(pin, GPIO_DIR_OUTPUT); \
62 xc_gpio_write_pin(pin, GPIO_PIN_RESET); \
65#define SDA_INPUT(pin, pull) \
67 xc_gpio_direction_config(pin, GPIO_DIR_INPUT); \
68 xc_gpio_pull_config(pin, pull); \
70#define SDA_INPUT_VAL(pin) xc_gpio_read_pin(pin)
void i2c_send_byte(uint8_t txd)
uint8_t i2c_read_byte(unsigned char ack)
void at24cxx_read_nbytes(uint16_t addr, uint8_t *buff, uint32_t num)
void at24cxx_write_byte(uint16_t addr, uint8_t data)
uint8_t at24cxx_read_byte(uint16_t addr)
void at24cxx_write_nbytes(uint16_t addr, uint8_t *buff, uint32_t num)
uint8_t i2c_wait_ack(void)
void i2c_software_init(void)