#include void I2C_Init() { TWBR = 0x02; TWCR = (1<data_length - 1; ++i) { packet->data[i] = I2C_Read_ACK(); } packet->data[packet->data_length] = I2C_Read_NO_ACK(); I2C_Stop(); return STATUS_OK; } enum status_code i2c_master_write_packet_wait(struct i2c_master_packet *const packet) { I2C_Start(); for (int i = 0; i < packet->data_length; ++i) { I2C_Write(packet->data[i]); } I2C_Stop(); return STATUS_OK; } enum status_code i2c_master_write_packet_wait_no_stop(struct i2c_master_packet *const packet) { I2C_Start(); for (int i = 0; i < packet->data_length; ++i) { I2C_Write(packet->data[i]); } I2C_Stop(); return STATUS_OK; }