lpcware

How to distinguish between Stop or Restart by selected slave ?

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by Shoichi Kojima on Mon Sep 24 23:36:28 MST 2012
Hi, fellow developers;

I'm trying to implement I2C Master/Slave feature on several LPC serise devices.
Some of those will be connected together on the same I2C bus, a multi-master environment.

As a part of protocol implementation, I need to distinguish between STOPed or Restarted at the interrupt report with I2CSTAT value 0xA0;
i.e.
  When I2C transaction is terminated...
   by STOP condition:     Normal data sent to its slave-behaving part
   by RESTART condition:  data bytes sent before it should be treated as a kind of particular COMMANDs and expected that some more data bytes will be sent as OPERAND parameters to those COMMANDs with termination by STOP condition.

Is there any way to do it with I2C module implemented in LPC-serise MCUs ?
I'm going to do it onto LPC11xx, 1343, 1769 and 4350 etc...

Outcomes