24.8.2.1.2 Code

Add to the main application source file, before any functions:
  • SAM D21 Xplained Pro.
    #define PWM_MODULE      EXT1_PWM_MODULE
    
    #define PWM_OUT_PIN     EXT1_PWM_0_PIN
    
    #define PWM_OUT_MUX     EXT1_PWM_0_MUX
    
  • SAM D20 Xplained Pro.
    #define PWM_MODULE      EXT1_PWM_MODULE
    
    #define PWM_OUT_PIN     EXT1_PWM_0_PIN
    
    #define PWM_OUT_MUX     EXT1_PWM_0_MUX
    
    Add to the main application source file, outside of any functions:
    struct tc_module tc_instance;
    
    Copy-paste the following setup code to your user application:
    void configure_tc(void)
    {
        struct tc_config config_tc;
        tc_get_config_defaults(&config_tc);
    
        config_tc.counter_size    = TC_COUNTER_SIZE_16BIT;
        config_tc.wave_generation = TC_WAVE_GENERATION_MATCH_FREQ;
        config_tc.counter_16_bit.compare_capture_channel[0] = 4000;
    
        config_tc.pwm_channel[0].enabled = true;
        config_tc.pwm_channel[0].pin_out = PWM_OUT_PIN;
        config_tc.pwm_channel[0].pin_mux = PWM_OUT_MUX;
    
        tc_init(&tc_instance, PWM_MODULE, &config_tc);
    
        tc_enable(&tc_instance);
    }
    
    Add to user application initialization (typically the start of main()):
    configure_tc();