Application Note
AN_329 User Guide For LibFT4222
Version 1.5
Document Reference No.: FT_001060 Clearance No.: FTDI#406
60
Product Page
Document Feedback Copyright © Future Technology Devices International Limited
Return Value:
FT4222_OK if successful, otherwise the return value is an FT error code.
Error code:
FT4222_DEVICE_NOT_OPENED: The initialization API is not called.
FT4222_IS_NOT_I2C_MODE: The device is not in i2c slave mode
FT4222_INVALID_POINTER: Parameter buffer or sizeTransferred is NULL
FT4222_INVALID_PARAMETER: Parameter bytesToWrite is equal to zero
FT4222_FAILED_TO_WRITE_DEVICE: Write data timeout or failed. FT_SetTimeouts can be called
to extend timeout.
Prerequisite:
FT4222_I2CSlave_Init
Example:
FT_HANDLE ftHandle = NULL;
FT_STATUS ftStatus;
FT4222_STATUS ft4222Status;
ftStatus = FT_Open(0, &ftHandle);
if (FT_OK != ftStatus)
{
// open failed
return;
}
// initial i2c slave
ft4222Status = FT4222_I2CSlave_Init(ftHandle);
if (FT4222_OK != ft4222Status)
{
// i2c slave init failed
return;
}
ft4222Status = FT4222_I2CSlave_SetClockStretch(ftHandle, TRUE);
if (FT4222_OK != ft4222Status)
{
// set clock stretch failed
return;
}
uint8 sent_data[] = {0x1A, 0x2B, 0x3C, 0x4D};
uint16 sizeTransferred = 0;
ft4222Status = FT4222_I2CSlave_Write(ftHandle, sent_data, sizeof(sent_data),
&sizeTransferred);
if (FT4222_OK != ft4222Status)
{
// write data error
}
FT4222_UnInitialize(ftHandle);
FT_Close(ftHandle);
3.7.7 I
2
C Slave Reset
FT4222_STATUS FT4222_I2CSlave_Reset(FT_HANDLE ftHandle)