Can't use I2C and SPI at the same time

Katagia
Posts: 4
Joined: Wed Jul 31, 2024 4:34 am

Can't use I2C and SPI at the same time

Postby Katagia » 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.

Katagia
Posts: 4
Joined: Wed Jul 31, 2024 4:34 am

Re: Can't use I2C and SPI at the same time

Postby Katagia » Tue Sep 24, 2024 6:02 am

I used a 100R resistor and current meter to tie SDA to ground. I measured 25mA. That means the pin is active driven. I measured all pins of my ESP32-S3 module against SDA. None is connected to it.

Katagia
Posts: 4
Joined: Wed Jul 31, 2024 4:34 am

Re: Can't use I2C and SPI at the same time

Postby Katagia » Sat Sep 28, 2024 8:33 am

I found the problem, is is related to the w5500 code.
I didn't explicit set the RST pin to no pin.
There seems to be a default pin which colided with my i2c.
After setting the RST pin explicit to "-1" it's working.

Who is online

Users browsing this forum: No registered users and 203 guests