Thanks for reply .
both line have 4.7K pull up. please check code and configuration:
#define I2C_SLAVE_DAC6571_ADDR_7BIT 0x4CU//(0x98U >> 1)
#define DAC_MASK_VALUE 0x03FF
// DAC value should be 10 bits, so mask it to ensure it doesn't exceed 10 bits
value &= DAC_MASK_VALUE;
// Prepare the data to be sent in the required format
BYTE data[2];
data[INDEX0] = value >> SHIFT_8BIT; // Upper 8 bits
data[INDEX1] = value & MAX_8BIT; // Lower 8 bits
// LPI2C master descriptor
lpi2c_master_transfer_t masterXfer = {0};
status_t reVal = kStatus_Fail;
/* subAddress = 0x01, data = g_master_txBuff - write to slave.
start + slaveaddress(w) + subAddress + length of data buffer
+ data buffer + stop*/
masterXfer.slaveAddress = I2C_SLAVE_DAC6571_ADDR_7BIT;
masterXfer.direction = kLPI2C_Write;
masterXfer.data = data; //(0 to 1023)
masterXfer.dataSize = sizeof(data);
masterXfer.flags = kLPI2C_TransferDefaultFlag;
// Send master non-blocking data to slave
reVal = LPI2C_MasterTransferEDMA(I2C_MASTER, &g_m_edma_handle, &masterXfer);
if (reVal != kStatus_Success)
{
return DAC_STATUS_FAIL;
}
// Wait for transfer completed.
while (!g_MasterCompletionFlag)
{
// Do Nothing
}
g_MasterCompletionFlag = false;