I have two ATmega8 MCUs.
The first one, the TWI master, is on an inverter board.
The second one, the TWI slave, is on a meter board (measuring the battery voltage and current).
Between the two, there are two transfer modes :
[1] Master Transmitter - Slave Receiver (MT-SR)
[2] Master Receiver - Slave Transmitter (MR-ST)
The protocol that implements (MR-ST) usually starts with (MT-SR) first by sending SLA+W then a byte (address/index).
A ‘Repeated Start’ follows to start the (MR-ST) transfer that begins by sending SLA+R.
In my simple configuration (1 master and 1 slave), if I like to begin with SLA+R directly using the general call 0000000 (GC), is there a status code (for TWSR) that confirms the reception of 00000001 (SLA+R of GC)?
As you know, on the datasheet of ATmega8, there is no such status code. But by using the general call in this case (for reading from 1 connected slave only), the prior sending of SLA+W and the address byte may not be needed (and this leads to a faster transfer).
Thank you.
Kerim
Edit1:
By receiving a general call for reading, the slave could be made to know in advance what the master expects to receive from it.
In the other cases of reading that use the specific slave address, the slave needs to receive an address/index/command byte first before it sends the required data bytes.
Edit2:
Since this is the first time I use TWI between MCUs (starting with two) and I am in the designing stage, I will likely monitor the status code of the case I presented here, and see if it exists (being different from all other ones) or not. And in case there will be no sure answer here, I will certainly post about what I will get (when the prototypes of the two boards will be ready).