diff --git a/STM32F1/libraries/Wire/HardWire.cpp b/STM32F1/libraries/Wire/HardWire.cpp index 8a63183..b3c1850 100644 --- a/STM32F1/libraries/Wire/HardWire.cpp +++ b/STM32F1/libraries/Wire/HardWire.cpp @@ -75,3 +75,8 @@ HardWire::~HardWire() { void HardWire::begin(uint8 self_addr) { i2c_master_enable(sel_hard, dev_flags); } + +void HardWire:end() { + i2c_disable(sel_hard); + sel_hard = 0; +} diff --git a/STM32F1/libraries/Wire/HardWire.h b/STM32F1/libraries/Wire/HardWire.h index 6f137b8..6f30cb3 100644 --- a/STM32F1/libraries/Wire/HardWire.h +++ b/STM32F1/libraries/Wire/HardWire.h @@ -59,6 +59,11 @@ public: * passed flags */ HardWire(uint8, uint8 = 0); + + /* + * Shuts down (disables) the hardware I2C + */ + void end(); /* * Disables the I2C device and remove the device address.