Display_Avr_3/i2c.h
Андрей Деркачев 4df52b2ab6 c++ > c
Переписал на С, возникает undefined reference, попробую ночью дофиксить.
2023-06-25 17:58:24 +00:00

29 lines
763 B
C

#ifndef I2C_H_
#define I2C_H_
#define BYTE unsigned char
#define I2C_DDR DDRC
#define I2C_PORT PORTC
#define I2C_PIN PINC
#define I2C_SCL PORTC0
#define I2C_SDA PORTC1
#define ACK 0
#define NACK 1
#define I2C_DELAY() _delay_ms(1);
#define ONE_SCL() { I2C_DDR &= ~(1 << I2C_SCL); I2C_PORT |= (1 << I2C_SCL); }
#define NULL_SCL() { I2C_DDR |= (1 << I2C_SCL); I2C_PORT &= ~(1 << I2C_SCL); }
#define ONE_SDA() { I2C_DDR &= ~(1 << I2C_SDA); I2C_PORT |= (1 << I2C_SDA); }
#define NULL_SDA() { I2C_DDR |= (1 << I2C_SDA); I2C_PORT &= ~(1 << I2C_SDA); }
BYTE i2c_stop(void);
void i2c_start(void);
void i2c_restart(void);
void i2c_init(void);
BYTE i2c_send_byte(BYTE data);
BYTE i2c_read_byte(BYTE ask);
#endif /* I2C_H_ */