diff --git a/ked/drivers/i2c.c b/ked/drivers/i2c.c index 56e83ea..321911d 100644 --- a/ked/drivers/i2c.c +++ b/ked/drivers/i2c.c @@ -152,11 +152,8 @@ void i2cMasterRecievePolling(i2c_t *i2cHardware, uint16_t *slaveAddress, uint8_t i2cHardware->periferalState = i2cPerifTransmitting; i2cSetTransferCounter(i2cHardware,1); - i2cInitiateWriteCommand(i2cHardware); - i2cSendSlaveAddress(i2cHardware, slaveAddress); - i2cSendRegisterAddress(i2cHardware,registerAddress); while(i2cHardware->periferalState != i2cPerifTransferComplete) @@ -165,9 +162,8 @@ void i2cMasterRecievePolling(i2c_t *i2cHardware, uint16_t *slaveAddress, uint8_t } i2cInitiateReadCommand(i2cHardware); - i2cSendSlaveAddress(i2cHardware, slaveAddress); - + i2cHardware->periferalState = i2cPerifRecieving; while(i2cHardware->hardwareState != i2cHwInputBufferFull) @@ -176,9 +172,8 @@ void i2cMasterRecievePolling(i2c_t *i2cHardware, uint16_t *slaveAddress, uint8_t } i2cGenerateNack(i2cHardware); - i2cGenerateStop(i2cHardware); - + i2cReadInputRegister(i2cHardware, data); i2cHardware->periferalState = i2cPerifReady;