Add these macros to the top of your main application C-file:
#define TC TC0
#define TC_PERIPHERAL 0
#define TC_CHANNEL_WAVEFORM 1
#define ID_TC_WAVEFORM ID_TC1
#define PIN_TC_WAVEFORM PIN_TC0_TIOA1
#define PIN_TC_WAVEFORM_MUX PIN_TC0_TIOA1_MUX
Add these macros and function to your main application C-file:
#define TC_WAVEFORM_TIMER_SELECTION TC_CMR_TCCLKS_TIMER_CLOCK4
#define TC_WAVEFORM_DIVISOR 128
#define TC_WAVEFORM_FREQUENCY 178
#define TC_WAVEFORM_DUTY_CYCLE 30
*
static
void tc_waveform_initialize(
void)
* {
* uint32_t ra, rc;
*
*
* sysclk_enable_peripheral_clock(ID_TC_WAVEFORM);
*
*
* tc_init(TC, TC_CHANNEL_WAVEFORM,
* TC_WAVEFORM_TIMER_SELECTION
* | TC_CMR_WAVE
* | TC_CMR_ACPA_SET
* | TC_CMR_ACPC_CLEAR
* | TC_CMR_CPCTRG
* );
*
*
* rc = (sysclk_get_peripheral_bus_hz(TC) /
* TC_WAVEFORM_DIVISOR /
* TC_WAVEFORM_FREQUENCY;
* tc_write_rc(TC, TC_CHANNEL_WAVEFORM, rc);
* ra = (100 - TC_WAVEFORM_FREQUENCY_DUTY_CYCLE * rc / 100;
* tc_write_ra(TC, TC_CHANNEL_WAVEFORM, ra);
*
*
* tc_start(TC, TC_CHANNEL_WAVEFORM);
* }