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.
Have 2 cards with MSP430F2274’s, one using UCB0 as an I2C Master reading selected data from an identical card needing to be a Slave. Slave UCB0 code appears to respond, but does not return correct data. No other devices are involved on either card nor on the I2C bus.
Cards are custom, essentially a subset of TI’s MSP-TS430DA38 and have worked with no issues on several projects for over 5 yrs.
Both ‘-2274’s run with DCO = 8 MHz, SMCLK = 1 MHz and I2C clock = 100 KHz. I2C pullups of 10K are located on the Master, with the 2 cards connected by wires ~6” long.
The Master ‘430 works as expected when connected only to a representative I2C device (specifically a TCS34725 color sensor chip) where the Master sends a “command” byte identifying a target register, and the TCS34725 in response returns 2 bytes of data from the specified register(s). ‘scope plot of such a transaction:
Replacing the TCS34725 by my prototype ‘430 Slave, the same ‘430 Master instead sees the following; note I2C data bytes of 0x7F, 0xFF:
Tools are CCS v5.5.0.00077 with an MSP-FET430-UIF, and the 2-wire “SBW” connection to the -2274.
Slave Code is as follows (have tried several variations), and I must be missing some detail in the transition from Receive mode to Transmit mode:
Initialization, in “init_430” file, is:
with slave's Main being
Note that lines 29 & 33 of this Slave code tries to send data of 0x55 and 0xAA, while ‘scope shows 0x7F, 0xFF.
Help/explanations appreciated…
**Attention** This is a public forum