Part Number: MSP432P401R
I think it is worth mentioning the active wait for UCBIT9IFG flag to be set in UCBxIFG register as a method for waiting the shift register to be flushed, for example by writing:
// Wait until byte has not been successfully sent
while(!I2C_getInterruptStatus(EUSCI_Bx_BASE, EUSCI_B_I2C_BIT9_POSITION_INTERRUPT))
At least, it works for me. It should be equivalent to the inline delay option, isn't it?
I do not need to use interrupts in my specific case, but I think the above flag should also make an ISR-managed solution possible.