struct tcc_module tcc_instance;
structtcc_config config_tcc;
tcc_get_config_defaults(&config_tcc, CONF_PWM_MODULE);
config_tcc.counter.clock_prescaler = TCC_CLOCK_PRESCALER_DIV1024;config_tcc.counter.period = 0x1000;config_tcc.compare.channel_function[CONF_TCC_CAPTURE_CHANNEL] =TCC_CHANNEL_FUNCTION_CAPTURE;config_tcc.compare.wave_generation = TCC_WAVE_GENERATION_SINGLE_SLOPE_PWM;config_tcc.compare.wave_polarity[CONF_PWM_CHANNEL] = TCC_WAVE_POLARITY_0;config_tcc.compare.match[CONF_PWM_CHANNEL] = compare_values[2];
config_tcc.pins.enable_wave_out_pin[CONF_PWM_OUTPUT] =true;config_tcc.pins.wave_out_pin[CONF_PWM_OUTPUT] = CONF_PWM_OUT_PIN;config_tcc.pins.wave_out_pin_mux[CONF_PWM_OUTPUT] = CONF_PWM_OUT_MUX;
tcc_init(&tcc_instance, CONF_PWM_MODULE, &config_tcc);
structtcc_events events_tcc = {.input_config[0].modify_action =false,.input_config[1].modify_action =false,.output_config.modify_generation_selection =false,.generate_event_on_channel[CONF_PWM_CHANNEL] =true,.on_event_perform_channel_action[CONF_TCC_CAPTURE_CHANNEL] =true};tcc_enable_events(&tcc_instance, &events_tcc);