espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.69k stars 7.42k forks source link

I2C wire write issue when using port expanders #3949

Closed deko88 closed 4 years ago

deko88 commented 4 years ago

Hello!

We are having difficulties with using the I2C on the esp32. Other peripherals like the RTC or the EEPROM works without problems, but the port expanders (namely the PCF8574 and the MCP23017) causing issues.

For example we are monitoring what the Wire.write function receives and it is all zero's (B00000000). But the oscilloscope and the test LEDs wired on the end shows that three pins were high on the PCF8574. We are running this from a separate task which receives the values from a queue and compares to the previous before sending it out on I2C. Please see the attachment below for reference. It is mainly (but not exclusively) present when we switch states on multiple pins at the same time.

DS1Z_QuickPrint26

We are not sure if the issue is caused by something on our part or it is inherently in the ESP32 Arduino 1.0.4 (IDF 3.2) release. The pull-up resistor value is 3kOhm on both SDA and SCL pins.

Thank you for taking your time looking at this.

Hardware:

Board: Own design Core Installation/update date: 1.0.4 IDE name: Platform.io Flash Frequency: 40Mhz PSRAM enabled: no Upload Speed: 115200 Computer OS: Ubuntu

stale[bot] commented 4 years ago

[STALE_SET] This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.

stale[bot] commented 4 years ago

[STALE_DEL] This stale issue has been automatically closed. Thank you for your contributions.