I will code 1 to 2, however, was not successful
code1:
u8 IICwriteBytes(u8 dev, u8 reg, u8 length, u8* data){
u8 count = 0;
IIC_Start();
IIC_Send_Byte(dev);
IIC_Wait_Ack();
IIC_Send_Byte(reg);
IIC_Wait_Ack();
for(count=0;count<length;count++){
IIC_Send_Byte(data[count]);
IIC_Wait_Ack();
}
IIC_Stop();
return 1; //status == 0;
}
code2:
uint8_t IICwriteBytes(uint8_t dev, uint8_t reg, uint8_t length, uint8_t *data){
bool transfer_succeeded;
transfer_succeeded = twi_master_transfer(dev, ®, 1, TWI_DONT_ISSUE_STOP);
transfer_succeeded &= twi_master_transfer(dev, data, length, TWI_ISSUE_STOP);
return transfer_succeeded;
}