IBFD = 0x14;  // init IBFDIBAD = 0xA0;  // set slave address
IBCR |= 0b10000000;              // IBEN = 1 - IIC bus enableIBCR |= 0b01000000;              // IBIE = 1 - IIC interrupt enable
while(IBSR&0b00100000)
{
 printf("wait until bus is free");
};
printf("bus free");
  
IBCR |= 0b01000000;              // IBIE = 1 - IIC interrupt enable
IBCR |= 0b00010000;              // TX/RX = 1 - transmit mode
IBCR |= 0b00100000;              // MS/SL = 1 - master mode - START signal
printf("START");
IICDR = 0b10010000;              // address slave
printf("slave addressed");IICDR = 0b10010000;leaving the SDA high (5 V) and the SCL low (0 V).
// I2C Interrupt Handler:    *((unsigned char *)0x3fa3) = 0x06;   // JMP opcode   *((void (**)(void))0x3fa4) = I2Chandler;#pragma interrupt_handler I2Chandlervoid I2Chandler(void){ i2c_flag = 1;}