Other Parts Discussed in Thread: BQ34Z100, BQSTUDIO, MSP430F5329
I need to read 4 blocks of data from the BQ34Z100
I have 4 blocks of data to read.
1, Standard Block from 0x00 through 0x13 or 20 bytes
2, Block 1 from 0x18 through 0x1F or 8 bytes
3, Block 2 from 0x24 through 0x3D or 20 bytes
4, Block 5 from 0x62 through 0x6F or 14 bytes
Normally for a single transaction I would do
<Start><Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Stop>
And I could do that 4 times, once for each block.
<Start><Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Stop>
<Start><Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Stop>
<Start><Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Stop>
<Start><Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Stop>
Looking at the I2C driver I am using, if I load all 4 commands into one transaction, it would use a <Restart> instead of a <Stop> and <Start> between the 4 transactions.
<Start><Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Restart>
<Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Restart>
<Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Restart>
<Device Address+W><Command><Restart><Device Address+R><Read data 0>...<Read Data N><Nak><Stop>
Would this work? Or do I need to figure out how to force the <Start> and <Stop> for each transaction?
Thanks,
Kip