/*************************************************************************
Шлет один байт данных по шине I2C
Входная переменная data – что шлем.
Возвращает 0 при успешной записи, или 1 при ошибке.
*************************************************************************/
unsigned char twi_write( unsigned char data )
{
unsigned int twst;
// шлет данные в устройство по адресу указанному в ранней процедуре START
TWDR = data;
TWCR = (1<<TWINT)| (1<<TWEN);
//
Ожидание готовности
while(!(TWCR &
(1<<TWINT)));
//
Чтение статусного регистра
twst = TW_STATUS &0xF8;
if( twst !=
TW_MT_DATA_ACK) return 1;
return 0;
}/* twi_write */