TWCR = TWCRMask;
while (!(TWCR & (1 << TWINT)));
*Byte = TWDR;
-
+
uint8_t Status = (TWSR & TW_STATUS_MASK);
-
+
return ((LastByte) ? (Status == TW_MR_DATA_NACK) : (Status == TW_MR_DATA_ACK));
}
uint8_t Length)
{
uint8_t ErrorCode;
-
+
if ((ErrorCode = TWI_StartTransmission((SlaveAddress & TWI_DEVICE_ADDRESS_MASK) | TWI_ADDRESS_WRITE,
TimeoutMS)) == TWI_ERROR_NoError)
{
while (InternalAddressLen--)
{
if (!(TWI_SendByte(*(InternalAddress++))))
- {
+ {
ErrorCode = TWI_ERROR_SlaveNAK;
break;
}
}
-
+
if ((ErrorCode = TWI_StartTransmission((SlaveAddress & TWI_DEVICE_ADDRESS_MASK) | TWI_ADDRESS_READ,
TimeoutMS)) == TWI_ERROR_NoError)
{
break;
}
}
-
+
TWI_StopTransmission();
}
}
-
+
return ErrorCode;
}
while (InternalAddressLen--)
{
if (!(TWI_SendByte(*(InternalAddress++))))
- {
+ {
ErrorCode = TWI_ERROR_SlaveNAK;
break;
}
break;
}
}
-
+
TWI_StopTransmission();
}
-
+
return ErrorCode;
}
+