VM_DCL_HANDLE i2c_handle;
vm_dcl_i2c_control_config_t conf_data;
vm_dcl_i2c_control_continue_write_t write_data;
vm_dcl_i2c_control_continue_read_t read_data;
VM_DCL_BUFF_LEN len;
VMUINT8 i2c_write_data[20] = {0x56,0x78,0x00};
VMUINT8 i2c_read_data[20] = {0x0};
i2c_handle = vm_dcl_open(VM_DCL_I2C,0);
if(VM_DCL_HANDLE_INVALID==i2c_handle) return;
conf_data.reserved_0 = 0;
conf_data.transaction_mode = VM_DCL_I2C_TRANSACTION_FAST_MODE;
conf_data.get_handle_wait = 0;
conf_data.reserved_1 = 0;
conf_data.delay_length = 0;
conf_data.slave_address = 0x98;
conf_data.fast_mode_speed = 400;
conf_data.high_mode_speed = 0;
vm_dcl_control(i2c_handle,VM_DCL_I2C_CMD_CONFIG,(void *)&conf_data);
write_data.data_ptr = i2c_write_data;
write_data.data_length = 20;
write_data.transfer_number = 1;
vm_dcl_control(i2c_handle,I2C_CMD_SINGLE_WRITE,(void *)&write_data);
read_data.data_ptr=i2c_read_data;
read_data.data_length = 20;
read_data.transfer_number = 1;
vm_dcl_control(i2c_handle,I2C_CMD_SINGLE_READ,(void *)&read_data);
//To do something with the handle.