I'm writing a test of usci_b_i2c driver of MSP430WARE. I'm using IAR and F5438
I wrote a very simple I2C Master-Receiving multiple bytes test.
It works fine. but something strange when checking waveform of SDA/SCL
Every RXIFG of a byte at Master end happens about 70-150us later than the time the byte received,
and then the SCL delays 30-50 us at low during the receiving of the next byte (between random 2 bits of the byte).
it's so strange. what's the reason?
the code is really simple:
void main (void) {
I2C_initMaster();
__bis_SR_register(GIE);
USCI_B_I2C_masterMultiByteReceiveStart(USCI_B0_BASE);
__bis_SR_register(LPM0_bits + GIE);
}
#pragma vector = USCI_B0_VECTOR
__interrupt void USCI_B0_ISR (void) {
switch (__even_in_range(UCB0IV,12)) {
case USCI_I2C_UCRXIFG: {
toggleBluePin();
buf[i] = USCI_B_I2C_masterMultiByteReceiveNext (USCI_B0_BASE);
