This is for the Arduino MKR Zero board. I'm sending 24 bit, 2 channel, standard I2S data into the board on the I2S designated pins using the I2S library calls and this code:
int sample32; // int is 32 bits for SAMD proc, L & R channels
while (I2S.read(sample32, 2) == -1); // read an I2S frame, 2 32 bit words
[u]How are the I2S 24 bits aligned into the 32 bit int?[/u] Is it MSB aligned?
I2S.begin(I2S_PHILIPS_MODE, 24) puts it in I2S slave mode. [u]How does it know that the data is for read and to make the SD0 I2S data line an input?[/u]