Concerning the I2C bus of H8/3664 group, it seems that when detecting start or stop, the content of ICDR register is not cleared, and that the last data at the previous reception is read out at the next reception. To avoid this problem, is there any other way than empty reading? How about transmission data?
The previous data remains in ICDR when receiving (please refer to the hardware manual). Even if the value is read out at the next receiving, this data, because it is unnecessary when receiving, is specified to be read out in dummy reading. In the case of sending, the previous value remains as it is, since it needs no clearing.