I have interfaced an i2C sensor SHT40 with the DA14531MOD.

I am using it in the 7bit addressing mode. 

I am trying to read the register address 0x89.

slave address (SHT40) is 0x44.

for which I am getting an ACK from the slave for I2C_WRITE command. but a NACK when I read the slave after transmitting 0x89.

  • Hi Sumo,

    Thank you for posting your question online.
    Could you kindly try to set a small delay between the write and read functionalities?
    Another approach would be to call your I2C function:

     i2c_master_transmit_buffer_sync(&reg_addr, 1, &abort_code, I2C_F_WAIT_FOR_STOP);
    i2c_master_receive_buffer_sync(&byte_received_SHT40, 6, &abort_code, I2C_F_WAIT_FOR_STOP);

    With the I2C_F_WAIT_FOR_STOP you will know for sure that the Write operation was finished before moving into the Read operation.
    Please share any results/feedback.

    Kind Regards,