Part Number: EVM430-FR6047
Other Parts Discussed in Thread: CC1310, MSP430FR6047
Hi support
I have an issue with my I2C communication btw. a CC1310 which i'm programming and the MSP430FR6047 water flow meter. On the most general plane i'm trying to do much of what the GUI does. Just from another microcontroller - the CC1310. I read the I2C packages btw the two MCU's with an analog discovery. When connected to the Waterdemo GUI it works as designed, but when I use the CC1310 I have some clock sync issues which might be the reason why I can't get it to work.
Here is a screenshot of the entire update param - command 0x96 - with the GUI->MSP on the top and mine in the bottom.
I use TI's API's to initialize the I2C and set frequence to 400 kHz - otherwise standard parameters. I can communicate, so the settings should be good. I just can't communicate as well as i hoped.
As you can clearly see. The clock is kept low at the beginning of each byte. If I zoom in the h09 part one can see that the timing is a bit different btw the data and clock
First focus was the I2C line itself. I have measured the pull up resistors and they are good. There is a slight difference in the clock frequency
Not much, if even there is a difference if I had used the same scale.
I have a for loop which handles the I2C communication and mimics the GUI->MSP I2C communication. I send the comm96, waits for an interrupt in the Comm_IRQ line and then receives the read msg. After that I transmit the parameter and repeat that for all parameters.
The loop uses a function that takes a struct as an argument that contains the data to write or where the receive a read pkg. In that function the i2ctransaction struct is set and the I2CTransfer call is made.
Debugging the MSP430 shows me that I only set 3 parameters and the updatevalid flag is not set.
I can introduce a 3 sec. delay (not much faster than that) and then I can set all parameters BUT the valid flag remains false.
How do you manage that on the "GUI" side of your EVAL board?
Regards Lasse




