Skip to content

Commit 171ca24

Browse files
authored
bugfix(i2c): fix signal glitch on sda and scl pin
see espressif#1061 here a tested version and an optional suggestion
1 parent 7fa8caf commit 171ca24

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

cores/esp32/esp32-hal-i2c.c

+4
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ i2c_err_t i2cAttachSCL(i2c_t * i2c, int8_t scl)
7272
if(i2c == NULL){
7373
return I2C_ERROR_DEV;
7474
}
75+
// digitalWrite(scl, HIGH); // optional before
7576
pinMode(scl, OUTPUT_OPEN_DRAIN | PULLUP);
77+
digitalWrite(scl, HIGH); // tested
7678
pinMatrixOutAttach(scl, I2C_SCL_IDX(i2c->num), false, false);
7779
pinMatrixInAttach(scl, I2C_SCL_IDX(i2c->num), false);
7880
return I2C_ERROR_OK;
@@ -94,7 +96,9 @@ i2c_err_t i2cAttachSDA(i2c_t * i2c, int8_t sda)
9496
if(i2c == NULL){
9597
return I2C_ERROR_DEV;
9698
}
99+
// digitalWrite(sda, HIGH); // optional before
97100
pinMode(sda, OUTPUT_OPEN_DRAIN | PULLUP);
101+
digitalWrite(sda, HIGH); // tested
98102
pinMatrixOutAttach(sda, I2C_SDA_IDX(i2c->num), false, false);
99103
pinMatrixInAttach(sda, I2C_SDA_IDX(i2c->num), false);
100104
return I2C_ERROR_OK;

0 commit comments

Comments
 (0)