Hi,
I work with the msp430f5438A.
And I ( the cpu is the master) communicate by I2c protocol to read from external ADC ( ads1115 component as a slave) .
And the sw is run in infinite loop. Each loop is of 100usec period (which will call from now "work cycle").
I have some option to manage the I2c protocol (single master two slaves).
- by polling.( take too much time to wait to the rising tx or rx flag, Beyond time that the work cycle allow )
- by interrupt. (Interrupt on each on byte transmision)
I implement both of them and it work fine.
In order to keep the CPU load as low as possible. I am considering a third option.
To send each one of the cycle work only one byte through the i2c
e.g:
the 1st work cycle : send the start bit , with address , with R/W.
2nd work cycle: send the first data ( in case that the master write data)
3rd work cycle : send the second data
…
last : stop the transaction .
but it not work.
And I suspect that the protocol time constraints or the device time constraint are the source of the problem.
So my question:
- if someone work in this method (send one byte in each of the work cycle ), is it possible?
Thanks.
Asher.