typedef struct { VMUINT8* data_ptr; VMUINT32 data_length; VMUINT32 transfer_number; } vm_dcl_i2c_control_continue_write_t, vm_dcl_i2c_control_continue_read_t;
typedef struct { VMUINT8* data_ptr; VMUINT32 data_length; VMUINT32 transfer_number; } vm_dcl_i2c_control_continue_write_t, vm_dcl_i2c_control_continue_read_t;
vm_dcl_i2c_control_continue_write_t and vm_dcl_i2c_control_continue_read_t indicate I2C_CMD_CONT_WRITE and I2C_CMD_CONT_READ command, respectively.
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.
vmdcl_i2c.h
|
Members |
Description |
|
VMUINT8* data_ptr; |
The pointer to the data buffer. |
|
VMUINT32 data_length; |
The data length of each transfer. Please note: this length should not exceed 8. |
|
VMUINT32 transfer_number; |
The transfer number. |
Doc-O-Matic. In order to make this message disappear you need to register this software. If you have problems registering this software please contact us at
support@toolsfactory.com.