Can't use I2C and SPI at the same time
Posted: Mon Sep 23, 2024 9:50 pm
Hi
I use an ESP32-S3, I2C and SPi.
IO4: I2C_INT
IO5: SDA
IO6: SCL
IO7: SPI_CS
IO16: SPI_INT
IO11: MOSI
IO12: SCK
IO13: MISO
There is several periphery connected to I2C and a W5500 to SPI.
The order in the code is:
Initialize SPI master
Initialize I2C master
Initialize I2C peripheral
So far, it's working.
As soon as the W5500 gets initialized, I can see a glitch high -> low -> high on the SDA signal.
After that glitch, SDA won't react anymore. It just stays high. I2C becomse unusable.
I checked my code several times and beside of I2C initialization, IO5 is not touched at all.
The same code worked fine with another pin mux.
Is there a limitation in io mux or gpio matrix which doesn't allow this configuration?
I'm lost at the moment.
Thank you very much.
I use an ESP32-S3, I2C and SPi.
IO4: I2C_INT
IO5: SDA
IO6: SCL
IO7: SPI_CS
IO16: SPI_INT
IO11: MOSI
IO12: SCK
IO13: MISO
There is several periphery connected to I2C and a W5500 to SPI.
The order in the code is:
Initialize SPI master
Initialize I2C master
Initialize I2C peripheral
So far, it's working.
As soon as the W5500 gets initialized, I can see a glitch high -> low -> high on the SDA signal.
After that glitch, SDA won't react anymore. It just stays high. I2C becomse unusable.
I checked my code several times and beside of I2C initialization, IO5 is not touched at all.
The same code worked fine with another pin mux.
Is there a limitation in io mux or gpio matrix which doesn't allow this configuration?
I'm lost at the moment.
Thank you very much.