diff --git a/STM32F1/libraries/Wire/Wire.cpp b/STM32F1/libraries/Wire/Wire.cpp index 3f5f161..a026e2e 100644 --- a/STM32F1/libraries/Wire/Wire.cpp +++ b/STM32F1/libraries/Wire/Wire.cpp @@ -97,8 +97,10 @@ void HardWire::setClock(uint32_t frequencyHz) dev_flags &= ~I2C_FAST_MODE;// clear FAST_MODE bit break; } - i2c_disable(sel_hard); - i2c_master_enable(sel_hard, dev_flags); + if (sel_hard->regs->CR1 & I2C_CR1_PE){ + i2c_disable(sel_hard); + i2c_master_enable(sel_hard, dev_flags); + } } HardWire Wire(1);