configure_i2c_master();
structi2c_master_config config_i2c_master;i2c_master_get_config_defaults(&config_i2c_master);
config_i2c_master.buffer_timeout = 10000;
i2c_master_init(&i2c_master_instance, CONF_I2C_MASTER_MODULE, &config_i2c_master);
i2c_master_enable(&i2c_master_instance);
structdma_resource_config config;
dma_get_config_defaults(&config);
config.peripheral_trigger = CONF_I2C_DMA_TRIGGER;config.trigger_action = DMA_TRIGGER_ACTON_BEAT;
dma_allocate(resource, &config);
structdma_descriptor_config descriptor_config;
dma_descriptor_get_config_defaults(&descriptor_config);
descriptor_config.beat_size = DMA_BEAT_SIZE_BYTE;descriptor_config.dst_increment_enable =false;descriptor_config.block_transfer_count = DATA_LENGTH;descriptor_config.source_address = (uint32_t)buffer + DATA_LENGTH;descriptor_config.destination_address =(uint32_t)(&i2c_master_instance.hw->I2CM.DATA.reg);
dma_descriptor_create(descriptor, &descriptor_config);