diff --git a/platform/z1/dev/i2cmaster.c b/platform/z1/dev/i2cmaster.c index c2bad507d..2da89ef7b 100644 --- a/platform/z1/dev/i2cmaster.c +++ b/platform/z1/dev/i2cmaster.c @@ -183,6 +183,14 @@ i2c_enable(void) { I2C_PxOUT |= (I2C_SDA | I2C_SCL); // Select pull-up resistors } +void +i2c_disable(void) { + I2C_PxSEL &= ~(I2C_SDA | I2C_SCL); // GPIO function selected + I2C_PxSEL2 &= ~(I2C_SDA | I2C_SCL); // GPIO function selected + I2C_PxREN &= ~(I2C_SDA | I2C_SCL); // Deactivate internal pull-up/-down resistors + I2C_PxOUT &= ~(I2C_SDA | I2C_SCL); // Select pull-up resistors +} + /*----------------------------------------------------------------------------*/ //------------------------------------------------------------------------------ // void i2c_transmit_n(unsigned char byte_ctr, unsigned char *field) diff --git a/platform/z1/dev/i2cmaster.h b/platform/z1/dev/i2cmaster.h index 192e99ea1..25bd7c233 100644 --- a/platform/z1/dev/i2cmaster.h +++ b/platform/z1/dev/i2cmaster.h @@ -44,6 +44,7 @@ #include "contiki.h" void i2c_enable(void); +void i2c_disable(void); void i2c_receiveinit(uint8_t slave_address); uint8_t i2c_receive_n(uint8_t byte_ctr, uint8_t *rx_buf);