Trying to read from AD5934 using Arduino on I2C
I think you should re-see AD5934x datasheet.

To read data from AD5934, we have three ways:


read single byte
read block
using pointer command




If you want to read multi byte, you can refer to my way:

unsigned long GetRegisterValue(unsigned char regAddr, unsigned char len)
{
    unsigned long regValue = 0;
    unsigned char index;
    unsigned char wrData[2] = {0,0};
    unsigned char rdData[2] = {0,0};

    for (index = 0; index &lt; len; index++)
    {
        wrData[0] = 0xB0; //assign pointer cmd
        wrData[1] = regAddr + index;
        I2C_Write(AD5934_ADDR, wrData, 2);
        rdData[0] = 0xff;
        I2C_Read(AD5934_ADDR, rdData, 1);
        regValue &lt;&lt;= 8;
        regValue += rdData[0];
    }

    return regValue;
}