cancel
Showing results for 
Search instead for 
Did you mean: 

How to do NO-STOP & RepSTART with I2C

gabriel2399
Associate II
Posted on April 07, 2004 at 03:38

How to do NO-STOP & RepSTART with I2C

2 REPLIES 2
gabriel2399
Associate II
Posted on April 06, 2004 at 13:28

My Interrupt driven I2C Function can read and write (as descibed on Fig. 58 Transfer Sequencing ST72264) in 7-bit Master Mode.

Now I nead more ''complex'' telegrams:

- 1) Telegram with NO STOP, to access the Bus for longer time (e.g. next telegram(s)). The pending IRQ flags (EVF*TRA*BUSY*BTF*M/SL) stay set and the SW hangs up in the ISR. I don't want to set the STOP condition!

- 2) ... with repeated Start Condition (after the last EV8 as 7-bit Master Transmitter).

Who knows the tricks?
jatin
Associate II
Posted on April 07, 2004 at 03:38

You need not to set the STOP condition for sending next telegram.

You can simply set START bit in I2CCR register after sending the last byte or before receiving the last byte. By setting START bit, the RESTART condition will be generated after last byte and next telegram can be transmitted.

But after the last telegram you have to generate the STOP condtion to free the I2C bus.