Part Number:MSP430FR2155
Tool/software: Code Composer Studio
I am trying to communicate through I2C in MSP430FR2155 as master device and Arduino Uno as slave device .
when I am debugging my code and execute program line by line the Code works and send data to Arduino.
but when I start continuous mode the code get stuck in while loop and communication stops. I am using standard driver provided from ti web sites.
void EUSCI_B_I2C_masterSendSingleByte(uint16_t baseAddress, uint8_t txData) { //Store current TXIE status uint16_t txieStatus = HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE; //Disable transmit interrupt enable HWREG16(baseAddress + OFS_UCBxIE) &= ~(UCTXIE); //Send start condition. HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTR + UCTXSTT; //Poll for transmit interrupt flag. while(!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) { ; } //Send single byte data. HWREG16(baseAddress + OFS_UCBxTXBUF) = txData; //Poll for transmit interrupt flag. while(!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) { ; } //Send stop condition. HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP; //Clear transmit interrupt flag before enabling interrupt again HWREG16(baseAddress + OFS_UCBxIFG) &= ~(UCTXIFG); //Reinstate transmit interrupt enable HWREG16(baseAddress + OFS_UCBxIE) |= txieStatus; }
the execution stuck at
while(!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG))...
any suggestion?