Posted on May 08, 2018 at 17:06waclawek.jan you are right.The WS sync is correct when the I2S is enabled at WS high level.void I2S_Fit(){ __disable_irq(); I2S_Cmd(SPI2, DISABLE); Init_I2S(); while(!I2S_WS_IN_PIN_READ); while(I2S_WS_IN_PIN_READ)...
Posted on May 08, 2018 at 01:20I have tested to count the I2S clock.But still the timing is unstable by 1 bit.The I2S clock is too fast to count by pin reading.My MCU is STM32F105RB with 25mHz(internal 72mhz).I put the test code like this.//Count th...
Posted on May 07, 2018 at 10:47Thank you for your replyThis is my code that starts I2S.The delay is unstable.Some times 1bit(1clock) earlier some times 1bit(1clock) later.What do you mean 'count the clock cycles'?Is it different from the while loop ...
Posted on May 07, 2018 at 07:20HelloI have the same problem.The only way is to control the timing of enable I2S.But it is not exact about 1 bit.1 bit is very large sound because it means the sound is 2 times louder.