This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F55xx USCI I2C Master continous mode

Does the MSP430F55xx USCI I2C state machine function as a master require an ACK from the slave for it to run continuously? I have only one MSP-TS430RGC64USB eval board. What do I need to change in the MSP430F55xx_uscib0_i2c_06 (or MSP430F55xx_uscib0_i2c_08) from the slac300d.zip example codes to have configure the I2C running in master TX mode without a slave connect to it? No ACK from the slave. 

I am in the process of getting a second MSP-FET430U64USB eval board to use it as an I2C slave. The second board will use the MSP430F55xx_uscib0_i2c_07 (or MSP430F55xx_uscib0_i2c_09).  What do I need to do to connect these 2 boards other than have 10K pull up on the P3.0 & P3.1 signals as described in the code?

Thanks in advanced. 
Sy

  • What do you mean with 'run continuously'?

    I2C is a connection-oriented protocol. So the master calls the slave, and when the slave answers with ACK, a conneciton is established and data is exchanged. During this, no other connections can be made, the bus is occupied. Once the connection ends (stop condition), a new slave can be addressed by the master.

    No slave, no connection, no transfer. That's the way it goes. The master calls for the slave, the slave doesn't answer, the master frowns and the transfer fails.

    For connecting two boards with I2C, you need to connect SCL and SDA line, need to attach a pullup to VCC (better: two pullups to both sides VCC).
    And don't forget to connect GND of the two boards. Sounds obvious, but we already had cases where this important 'third wire' was forgotten.

  • Thank you Jens-Michael. Definetly having 2 boards helps with the code development. -- no ACK, no transfer. There is no loop back like the SPI and the UART interface.

  • Sy Tran said:
    Thank you Jens-Michael. Definetly having 2 boards helps with the code development. -- no ACK, no transfer.

    Your MSP has two USI modules, so you can try to implement both, master and slave side, in one device.
    Makes debugging easier :)

**Attention** This is a public forum