27 lines
589 B
C
27 lines
589 B
C
|
|
#ifndef I2C_H_QWERTY
|
|
#define I2C_H_QWERTY
|
|
|
|
#define PSC_I2C 1 // I2C prescaler
|
|
#define F_I2C 400000UL // I2C Clock
|
|
|
|
#include <stdio.h>
|
|
#include <avr/io.h>
|
|
|
|
extern uint8_t i2c_error;
|
|
|
|
#define I2C_ERR_START 0 // Timeout start condition
|
|
#define I2C_ERR_WRITE 1 // Timeout byte transmission
|
|
#define I2C_ERR_READACK 2 // Timeout read acknowledge
|
|
#define I2C_ERR_READNACK 3 // Timeout read nacknowledge
|
|
|
|
void i2c_init(void);
|
|
|
|
void i2c_start(void);
|
|
void i2c_write(uint8_t byte);
|
|
uint8_t i2c_read_ack(void);
|
|
uint8_t i2c_read_nack(void);
|
|
void i2c_stop(void);
|
|
|
|
#endif
|