17 lines
625 B
C
17 lines
625 B
C
#ifndef I2C_H
|
|
#define I2C_H
|
|
|
|
// table 22-7 : prescale sets
|
|
#define TWI_PRESCALE_SET(value) \
|
|
((value) == 1 ? (0<<TWPS1 | 0<<TWPS0) : \
|
|
(value) == 4 ? (0<<TWPS1 | 1<<TWPS0) : \
|
|
(value) == 16 ? (1<<TWPS1 | 0<<TWPS0) : \
|
|
(value) == 64 ? (1<<TWPS1 | 1<<TWPS0) : 0x00)
|
|
|
|
// 22.7.1 : TWCR, Master Transmitter Mode
|
|
#define TWI_START_CONDITION ((1<<TWINT) | (1<<TWEN)) | (1<<TWSTA)
|
|
#define TWI_STOP_CONDITION ((1<<TWINT) | (1<<TWEN)) | (1<<TWSTO)
|
|
#define TWI_ACKNOWLEDGE ((1<<TWINT) | (1<<TWEN) | (1<<TWEA))
|
|
#define TWI_NACKNOWLEDGE ((1<<TWINT) | (1<<TWEN))
|
|
|
|
#endif // I2C_H
|