CMSIS-Driver_PIC32CM-PL  
Peripheral Library (PLIB) Documentation
 
Loading...
Searching...
No Matches
TCC Interface

Driver API for TCC (plib_tcc0_capture.h) More...

Data Structures

struct  TCC0_CAPTURE_OBJECT
 TCC0 Capture object structure. More...
 

Typedefs

typedef void(* TCC0_CAPTURE_CALLBACK_HANDLER) (TCC_INTERRUPT int_cause)
 Callback handler type for TCC0 capture interrupts.
 

Enumerations

enum  TCC_CAPTURE_EVENT_OUTPUT { TCC_CAPTURE_EVENT_OUTPUT_MC_0 = TCC_EVCTRL_MCEO0_Msk , TCC_CAPTURE_EVENT_OUTPUT_MC_1 = TCC_EVCTRL_MCEO1_Msk , TCC_CAPTURE_EVENT_OUTPUT_MC_2 = TCC_EVCTRL_MCEO2_Msk , TCC_CAPTURE_EVENT_OUTPUT_MC_3 = TCC_EVCTRL_MCEO3_Msk }
 Event output selection for TCC0 capture (bitmask values). More...
 
enum  TCC_CAPTURE_INPUT_SOURCE_POLARITY { TCC_CAPTURE_SOURCE_POLARITY_NON_INV = 0 , TCC_CAPTURE_SOURCE_POLARITY_INV = 1 }
 TCC0 signal polarity selection. More...
 
enum  TCC_CAPTURE_INPUT_EVACT0 { TCC_CAPTURE_INPUT_EVACT0_OFF = TCC_EVCTRL_EVACT0_OFF , TCC_CAPTURE_INPUT_EVACT0_STAMP = TCC_EVCTRL_EVACT0_STAMP }
 TCC0 event action selection for input event 0. More...
 
enum  TCC_CAPTURE_INPUT_EVACT1 { TCC_CAPTURE_INPUT_EVACT1_OFF = TCC_EVCTRL_EVACT1_OFF , TCC_CAPTURE_INPUT_EVACT1_PWP = TCC_EVCTRL_EVACT1_PWP }
 TCC0 event action selection for input event 1. More...
 
enum  TCC_CAPTURE_EVENT_INPUT_CHANNEL {
  TCC_CAPTURE_EVENT_INPUT_TC_0 = TCC_EVCTRL_TCEI0_Msk , TCC_CAPTURE_EVENT_INPUT_TC_1 = TCC_EVCTRL_TCEI1_Msk , TCC_CAPTURE_EVENT_INPUT_MC_0 = TCC_EVCTRL_MCEI0_Msk , TCC_CAPTURE_EVENT_INPUT_MC_1 = TCC_EVCTRL_MCEI1_Msk ,
  TCC_CAPTURE_EVENT_INPUT_MC_2 = TCC_EVCTRL_MCEI2_Msk , TCC_CAPTURE_EVENT_INPUT_MC_3 = TCC_EVCTRL_MCEI3_Msk
}
 TCC0 event channel selection. More...
 
enum  TCC_CAPTURE_CHANNEL { TCC_CAPTURE_CHANNEL_0 = 0 , TCC_CAPTURE_CHANNEL_1 = 1 , TCC_CAPTURE_CHANNEL_2 = 2 , TCC_CAPTURE_CHANNEL_3 = 3 }
 TCC0 compare channel selection. More...
 
enum  TCC_GCLK_PRESCALER {
  TCC_GCLK_PRESCALER_DIV_1 = TCC_CTRLA_PRESCALER_DIV1 , TCC_GCLK_PRESCALER_DIV_2 = TCC_CTRLA_PRESCALER_DIV2 , TCC_GCLK_PRESCALER_DIV_4 = TCC_CTRLA_PRESCALER_DIV4 , TCC_GCLK_PRESCALER_DIV_8 = TCC_CTRLA_PRESCALER_DIV8 ,
  TCC_GCLK_PRESCALER_DIV_16 = TCC_CTRLA_PRESCALER_DIV16 , TCC_GCLK_PRESCALER_DIV_64 = TCC_CTRLA_PRESCALER_DIV64 , TCC_GCLK_PRESCALER_DIV_256 = TCC_CTRLA_PRESCALER_DIV256 , TCC_GCLK_PRESCALER_DIV_1024 = TCC_CTRLA_PRESCALER_DIV1024
}
 TCC0 clock prescaler options. More...
 
enum  TCC_PRESCALER_SYNC_MODE { TCC_PRESCSYNC_GCLK = TCC_CTRLA_PRESCSYNC_GCLK , TCC_PRESCSYNC_PRESC = TCC_CTRLA_PRESCSYNC_PRESC , TCC_PRESCSYNC_RESYNC = TCC_CTRLA_PRESCSYNC_RESYNC }
 TCC0 prescaler synchronization mode. More...
 
enum  TCC_WAVE_GEN_MODE {
  TCC_WAVE_GEN_NFRQ = TCC_WAVE_WAVEGEN_NFRQ , TCC_WAVE_GEN_MFRQ = TCC_WAVE_WAVEGEN_MFRQ , TCC_WAVE_GEN_NPWM = TCC_WAVE_WAVEGEN_NPWM , TCC_WAVE_GEN_DPWM = TCC_WAVE_WAVEGEN_DPWM ,
  TCC_WAVE_GEN_DSCRITICAL = TCC_WAVE_WAVEGEN_DSCRITICAL , TCC_WAVE_GEN_DSBOTTOM = TCC_WAVE_WAVEGEN_DSBOTTOM , TCC_WAVE_GEN_DSBOTH = TCC_WAVE_WAVEGEN_DSBOTH , TCC_WAVE_GEN_DSSTOP = TCC_WAVE_WAVEGEN_DSTOP
}
 TCC0 waveform generation mode. More...
 
enum  TCC_COUNT_DIRECTION { TCC_COUNT_DIRECTION_UP = 1 , TCC_COUNT_DIRECTION_DOWN = 2 }
 TCC0 counter direction. More...
 
enum  TCC_EVENT_OUTPUT_CNTSEL_PHASE { TCC_EVENT_OUTPUT_PHASE_CNTSEL_START = TCC_EVCTRL_CNTSEL_START , TCC_EVENT_OUTPUT_PHASE_CNTSEL_END = TCC_EVCTRL_CNTSEL_END , TCC_EVENT_OUTPUT_PHASE_CNTSEL_BOUNDARY = TCC_EVCTRL_CNTSEL_BOUNDARY }
 TCC0 event output phase. More...
 
enum  TCC_INTERRUPT {
  TCC_INTERRUPT_OVERFLOW = TCC_INTENSET_OVF_Msk , TCC_INTERRUPT_RETRIGGER = TCC_INTENSET_TRG_Msk , TCC_INTERRUPT_COUNTER = TCC_INTENSET_CNT_Msk , TCC_INTERRUPT_ERROR = TCC_INTENSET_ERR_Msk ,
  TCC_INTERRUPT_UPDATE_FAULT = TCC_INTENSET_UFS_Msk , TCC_INTERRUPT_DEBUG_FAULT = TCC_INTENSET_DFS_Msk , TCC_INTERRUPT_FAULT_A = TCC_INTENSET_FAULTA_Msk , TCC_INTERRUPT_FAULT_B = TCC_INTENSET_FAULTB_Msk ,
  TCC_INTERRUPT_FAULT_0 = TCC_INTENSET_FAULT0_Msk , TCC_INTERRUPT_FAULT_1 = TCC_INTENSET_FAULT1_Msk , TCC_INTERRUPT_MATCH_COMPARE_0 = TCC_INTENSET_MC0_Msk , TCC_INTERRUPT_MATCH_COMPARE_1 = TCC_INTENSET_MC1_Msk ,
  TCC_INTERRUPT_MATCH_COMPARE_2 = TCC_INTENSET_MC2_Msk , TCC_INTERRUPT_MATCH_COMPARE_3 = TCC_INTENSET_MC3_Msk
}
 TCC0 interrupt sources. More...
 
enum  TCC_WAVE_RAMP_OPERATION { TCC_WAVE_RAMP_OPERATION_1 = TCC_WAVE_RAMP_RAMP1 , TCC_WAVE_RAMP_OPERATION_2A = TCC_WAVE_RAMP_RAMP2A , TCC_WAVE_RAMP_OPERATION_2 = TCC_WAVE_RAMP_RAMP2 , TCC_WAVE_RAMP_OPERATION_2C = TCC_WAVE_RAMP_RAMP2C }
 TCC0 capture ramp operation selection. More...
 

Functions

void TCC0_CAPTURE_Initialize (void)
 Initialize the TCC0 capture module.
 
void TCC0_CAPTURE_SetClockPrescaler (TCC_GCLK_PRESCALER prescaler, TCC_PRESCALER_SYNC_MODE presc_sync_mode)
 Set the prescaler and prescaler synchronization for TCC0 capture.
 
void TCC0_CAPTURE_Enable (void)
 Enable the TCC0 capture module.
 
void TCC0_CAPTURE_Disable (void)
 Disable the TCC0 capture module.
 
void TCC0_CAPTURE_ResetSoftware (void)
 Perform a software reset of the TCC0 capture module.
 
void TCC0_CAPTURE_StopCapture (void)
 Stop the capture operation.
 
bool TCC0_CAPTURE_CaptureIsStopped (void)
 Check if the capture operation is stopped.
 
void TCC0_CAPTURE_RetriggerCapture (void)
 Retrigger the capture operation.
 
void TCC0_CAPTURE_EnableCaptureChannel (TCC_CAPTURE_CHANNEL channel)
 Enable a capture channel.
 
void TCC0_CAPTURE_DisableCaptureChannel (TCC_CAPTURE_CHANNEL channel)
 Disable a capture channel.
 
uint32_t TCC0_CAPTURE_GetPrescaler (void)
 Get the current prescaler value.
 
uint32_t TCC0_CAPTURE_GetCaptureValue (TCC_CAPTURE_CHANNEL channel)
 Get the captured value for a channel.
 
void TCC0_CAPTURE_EnableEventOutput (TCC_CAPTURE_EVENT_OUTPUT event)
 Enable event output for a specific event type.
 
void TCC0_CAPTURE_DisableEventOutput (TCC_CAPTURE_EVENT_OUTPUT event)
 Disable event output for a specific event type.
 
void TCC0_CAPTURE_EnableInputEvent (TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel)
 Enable input event for the capture module.
 
void TCC0_CAPTURE_DisableInputEvent (TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel)
 Disable input event for the capture module.
 
void TCC0_CAPTURE_SetEventInputPolarity (TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel, TCC_CAPTURE_INPUT_SOURCE_POLARITY polarity)
 Set event input polarity for the capture module.
 
void TCC0_CAPTURE_SetEvent0InputAction (TCC_CAPTURE_INPUT_EVACT0 action)
 Set event input action 0 for the timer.
 
void TCC0_CAPTURE_SetEvent1InputAction (TCC_CAPTURE_INPUT_EVACT1 action)
 Set event input action 1 for the timer.
 
void TCC0_CAPTURE_EnableInterrupt (TCC_INTERRUPT source)
 Enable specific TCC0 capture interrupts.
 
void TCC0_CAPTURE_DisableInterrupt (TCC_INTERRUPT source)
 Disable specific TCC0 capture interrupts.
 
void TCC0_CAPTURE_ClearInterruptFlag (TCC_INTERRUPT flag)
 Clear specific TCC0 capture interrupt flags.
 
uint32_t TCC0_CAPTURE_GetInterruptFlag (void)
 Get the current TCC0 capture interrupt flags.
 
void TCC0_CAPTURE_SetCallbackHandler (TCC0_CAPTURE_CALLBACK_HANDLER callback)
 Register a callback for capture interrupts.
 
void TCC0_CAPTURE_EnableFullCycleStop (void)
 Enable full cycle stop (wait for end of cycle before stopping).
 
void TCC0_CAPTURE_DisableFullCycleStop (void)
 Disable full cycle stop (stop immediately).
 
bool TCC0_CAPTURE_FullCycleStopIsEnabled (void)
 Check if full cycle stop is enabled.
 
void TCC0_CAPTURE_EnableRunOnStandby (void)
 Enable run in standby mode.
 
void TCC0_CAPTURE_DisableRunOnStandby (void)
 Disable run in standby mode.
 
void TCC0_CAPTURE_EnableDMAOneShot (void)
 Enable DMA one-shot mode.
 
void TCC0_CAPTURE_DisableDMAOneShot (void)
 Disable DMA one-shot mode.
 
void TCC0_SetInterruptHandler (void(*handler)(void))
 Registers the TCC0 interrupt callback function. The callback function can be called from main.c for direct callback registration.
 

Description

Driver API for TCC (plib_tcc0_capture.h)

Usage Example

The following example demonstrates typical usage of the TCC peripheral:

// Interrupt handler for TCC0 capture events
static void TCC0_Capture_Interrupt_Handler(TCC_INTERRUPT int_cause)
{
if (((uint32_t)int_cause & (uint32_t)TCC_INTERRUPT_MATCH_COMPARE_0) != 0U)
{
// Read captured value from channel 0
//uint32_t captured0 = TCC0_CAPTURE_GetCaptureValue(TCC_CAPTURE_CHANNEL_0);
}
if (((uint32_t)int_cause & (uint32_t)TCC_INTERRUPT_MATCH_COMPARE_1) != 0U)
{
// Read captured value from channel 1
// uint32_t captured1 = TCC0_CAPTURE_GetCaptureValue(TCC_CAPTURE_CHANNEL_1);
}
if (((uint32_t)int_cause & (uint32_t)TCC_INTERRUPT_MATCH_COMPARE_2) != 0U)
{
// Read captured value from channel 2
// uint32_t captured1 = TCC0_CAPTURE_GetCaptureValue(TCC_CAPTURE_CHANNEL_2);
}
if (((uint32_t)int_cause & (uint32_t)TCC_INTERRUPT_MATCH_COMPARE_3) != 0U)
{
// Read captured value from channel 3
// uint32_t captured1 = TCC0_CAPTURE_GetCaptureValue(TCC_CAPTURE_CHANNEL_3);
}
}
int32_t configure_tcc0_capture(void)
{
// Reset TCC0 using software reset
// Initialize TCC0 capture mode
// Set clock prescaler and synchronization
// Enable capture channels 0 and 1
// Enable input events for capture
// Set input action for event 1
// Register callback handler for interrupts
TCC0_CAPTURE_SetCallbackHandler(&TCC0_Capture_Interrupt_Handler);
// Enable interrupts for match compare events
// Enable TCC0 capture mode
return 0;
}
void TCC0_CAPTURE_EnableInterrupt(TCC_INTERRUPT source)
Enable specific TCC0 capture interrupts.
void TCC0_CAPTURE_SetClockPrescaler(TCC_GCLK_PRESCALER prescaler, TCC_PRESCALER_SYNC_MODE presc_sync_mode)
Set the prescaler and prescaler synchronization for TCC0 capture.
void TCC0_CAPTURE_EnableCaptureChannel(TCC_CAPTURE_CHANNEL channel)
Enable a capture channel.
void TCC0_CAPTURE_SetCallbackHandler(TCC0_CAPTURE_CALLBACK_HANDLER callback)
Register a callback for capture interrupts.
void TCC0_CAPTURE_ResetSoftware(void)
Perform a software reset of the TCC0 capture module.
void TCC0_CAPTURE_Enable(void)
Enable the TCC0 capture module.
TCC_INTERRUPT
TCC0 interrupt sources.
Definition plib_tcc0_common.h:213
void TCC0_CAPTURE_Initialize(void)
Initialize the TCC0 capture module.
void TCC0_CAPTURE_EnableInputEvent(TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel)
Enable input event for the capture module.
void TCC0_CAPTURE_SetEvent1InputAction(TCC_CAPTURE_INPUT_EVACT1 action)
Set event input action 1 for the timer.
@ TCC_GCLK_PRESCALER_DIV_1
Definition plib_tcc0_common.h:69
@ TCC_INTERRUPT_MATCH_COMPARE_2
Definition plib_tcc0_common.h:226
@ TCC_INTERRUPT_MATCH_COMPARE_3
Definition plib_tcc0_common.h:227
@ TCC_INTERRUPT_MATCH_COMPARE_1
Definition plib_tcc0_common.h:225
@ TCC_INTERRUPT_MATCH_COMPARE_0
Definition plib_tcc0_common.h:224
@ TCC_CAPTURE_INPUT_EVACT1_PWP
Definition plib_tcc0_capture.h:157
@ TCC_CAPTURE_CHANNEL_0
Definition plib_tcc0_capture.h:208
@ TCC_CAPTURE_CHANNEL_1
Definition plib_tcc0_capture.h:209
@ TCC_CAPTURE_EVENT_INPUT_TC_1
Definition plib_tcc0_capture.h:183
@ TCC_CAPTURE_EVENT_INPUT_MC_0
Definition plib_tcc0_capture.h:184
@ TCC_CAPTURE_EVENT_INPUT_MC_1
Definition plib_tcc0_capture.h:185
@ TCC_PRESCSYNC_PRESC
Definition plib_tcc0_common.h:96

Typedef Documentation

◆ TCC0_CAPTURE_CALLBACK_HANDLER

TCC0_CAPTURE_CALLBACK_HANDLER

Callback handler type for TCC0 capture interrupts.

Parameters
int_causeInterrupt source mask of type TCC_INTERRUPT.
Returns
None

Enumeration Type Documentation

◆ TCC_CAPTURE_CHANNEL

TCC0 compare channel selection.

Selects the compare channel for TCC0 capture.

@ TCC_CAPTURE_CHANNEL::TCC_CAPTURE_CHANNEL_0 Compare Channel 0. @ TCC_CAPTURE_CHANNEL::TCC_CAPTURE_CHANNEL_1 Compare Channel 1. @ TCC_CAPTURE_CHANNEL::TCC_CAPTURE_CHANNEL_2 Compare Channel 2. @ TCC_CAPTURE_CHANNEL::TCC_CAPTURE_CHANNEL_3 Compare Channel 3.

Enumerator
TCC_CAPTURE_CHANNEL_0 

Compare Channel 0

TCC_CAPTURE_CHANNEL_1 

Compare Channel 1

TCC_CAPTURE_CHANNEL_2 

Compare Channel 2

TCC_CAPTURE_CHANNEL_3 

Compare Channel 3

◆ TCC_CAPTURE_EVENT_INPUT_CHANNEL

TCC0 event channel selection.

Selects the event input channel for TCC0 capture.

@ TCC_CAPTURE_EVENT_INPUT_CHANNEL::TCC_CAPTURE_EVENT_INPUT_TC_0 Timer counter Channel 0. @ TCC_CAPTURE_EVENT_INPUT_CHANNEL::TCC_CAPTURE_EVENT_INPUT_TC_1 Timer counter Channel 1. @ TCC_CAPTURE_EVENT_INPUT_CHANNEL::TCC_CAPTURE_EVENT_INPUT_MC_0 Compare Channel 0. @ TCC_CAPTURE_EVENT_INPUT_CHANNEL::TCC_CAPTURE_EVENT_INPUT_MC_1 Compare Channel 1. @ TCC_CAPTURE_EVENT_INPUT_CHANNEL::TCC_CAPTURE_EVENT_INPUT_MC_2 Compare Channel 2. @ TCC_CAPTURE_EVENT_INPUT_CHANNEL::TCC_CAPTURE_EVENT_INPUT_MC_3 Compare Channel 3.

Enumerator
TCC_CAPTURE_EVENT_INPUT_TC_0 

Timer counter Channel 0

TCC_CAPTURE_EVENT_INPUT_TC_1 

Timer counter Channel 1

TCC_CAPTURE_EVENT_INPUT_MC_0 

Compare Channel 0

TCC_CAPTURE_EVENT_INPUT_MC_1 

Compare Channel 1

TCC_CAPTURE_EVENT_INPUT_MC_2 

Compare Channel 2

TCC_CAPTURE_EVENT_INPUT_MC_3 

Compare Channel 3

◆ TCC_CAPTURE_EVENT_OUTPUT

Event output selection for TCC0 capture (bitmask values).

Enumerates the possible event outputs for TCC0 capture channels.

@ TCC_CAPTURE_EVENT_OUTPUT::TCC_CAPTURE_EVENT_OUTPUT_MC_0 Event output for Match/Capture Channel 0. @ TCC_CAPTURE_EVENT_OUTPUT::TCC_CAPTURE_EVENT_OUTPUT_MC_1 Event output for Match/Capture Channel 1. @ TCC_CAPTURE_EVENT_OUTPUT::TCC_CAPTURE_EVENT_OUTPUT_MC_2 Event output for Match/Capture Channel 2. @ TCC_CAPTURE_EVENT_OUTPUT::TCC_CAPTURE_EVENT_OUTPUT_MC_3 Event output for Match/Capture Channel 3.

Enumerator
TCC_CAPTURE_EVENT_OUTPUT_MC_0 

Event output for Match/Capture Channel 0

TCC_CAPTURE_EVENT_OUTPUT_MC_1 

Event output for Match/Capture Channel 1

TCC_CAPTURE_EVENT_OUTPUT_MC_2 

Event output for Match/Capture Channel 2

TCC_CAPTURE_EVENT_OUTPUT_MC_3 

Event output for Match/Capture Channel 3

◆ TCC_CAPTURE_INPUT_EVACT0

TCC0 event action selection for input event 0.

Selects the event action for TCC0 input event 0.

@ TCC_CAPTURE_INPUT_EVACT0::TCC_CAPTURE_INPUT_EVACT0_OFF No action. @ TCC_CAPTURE_INPUT_EVACT0::TCC_CAPTURE_INPUT_EVACT0_STAMP Retrigger action.

Enumerator
TCC_CAPTURE_INPUT_EVACT0_OFF 

No action

TCC_CAPTURE_INPUT_EVACT0_STAMP 

Retrigger action

◆ TCC_CAPTURE_INPUT_EVACT1

TCC0 event action selection for input event 1.

Selects the event action for TCC0 input event 1.

@ TCC_CAPTURE_INPUT_EVACT1::TCC_CAPTURE_INPUT_EVACT1_OFF No action. @ TCC_CAPTURE_INPUT_EVACT1::TCC_CAPTURE_INPUT_EVACT1_PWP Pulse width on CC0 and timer period on CC1.

Enumerator
TCC_CAPTURE_INPUT_EVACT1_OFF 

No action

TCC_CAPTURE_INPUT_EVACT1_PWP 

Pulse width on CC0 and timer period on CC1

◆ TCC_CAPTURE_INPUT_SOURCE_POLARITY

TCC0 signal polarity selection.

Selects the signal polarity for TCC0 capture input sources.

@ TCC_CAPTURE_INPUT_SOURCE_POLARITY::TCC_CAPTURE_SOURCE_POLARITY_NON_INV Non-inverted signal. @ TCC_CAPTURE_INPUT_SOURCE_POLARITY::TCC_CAPTURE_SOURCE_POLARITY_INV Inverted signal.

Enumerator
TCC_CAPTURE_SOURCE_POLARITY_NON_INV 

Non-inverted signal

TCC_CAPTURE_SOURCE_POLARITY_INV 

Inverted signal

◆ TCC_COUNT_DIRECTION

TCC0 counter direction.

Selects the counter direction for TCC0.

@ TCC_COUNT_DIRECTION::TCC_COUNT_DIRECTION_UP Count up. @ TCC_COUNT_DIRECTION::TCC_COUNT_DIRECTION_DOWN Count down.

Enumerator
TCC_COUNT_DIRECTION_UP 

Count up

TCC_COUNT_DIRECTION_DOWN 

Count down

◆ TCC_EVENT_OUTPUT_CNTSEL_PHASE

TCC0 event output phase.

Selects the event output phase TCC0.

@ TCC_EVENT_OUTPUT_CNTSEL_PHASE::TCC_EVENT_OUTPUT_PHASE_CNTSEL_START start. @ TCC_EVENT_OUTPUT_CNTSEL_PHASE::TCC_EVENT_OUTPUT_PHASE_CNTSEL_END End. @ TCC_EVENT_OUTPUT_CNTSEL_PHASE::TCC_EVENT_OUTPUT_PHASE_CNTSEL_BOUNDARY Boundary.

Enumerator
TCC_EVENT_OUTPUT_PHASE_CNTSEL_START 

START

TCC_EVENT_OUTPUT_PHASE_CNTSEL_END 

END

TCC_EVENT_OUTPUT_PHASE_CNTSEL_BOUNDARY 

BOUNDARY

◆ TCC_GCLK_PRESCALER

TCC0 clock prescaler options.

Selects the clock prescaler for TCC0.

@ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_1 Divide by 1. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_2 Divide by 2. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_4 Divide by 4. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_8 Divide by 8. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_16 Divide by 16. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_64 Divide by 64. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_256 Divide by 256. @ TCC_GCLK_PRESCALER::TCC_GCLK_PRESCALER_DIV_1024 Divide by 1024.

Enumerator
TCC_GCLK_PRESCALER_DIV_1 

Divide by 1

TCC_GCLK_PRESCALER_DIV_2 

Divide by 2

TCC_GCLK_PRESCALER_DIV_4 

Divide by 4

TCC_GCLK_PRESCALER_DIV_8 

Divide by 8

TCC_GCLK_PRESCALER_DIV_16 

Divide by 16

TCC_GCLK_PRESCALER_DIV_64 

Divide by 64

TCC_GCLK_PRESCALER_DIV_256 

Divide by 256

TCC_GCLK_PRESCALER_DIV_1024 

Divide by 1024

◆ TCC_INTERRUPT

TCC0 interrupt sources.

Enumerates the possible interrupt sources for TCC0.

@ TCC_INTERRUPT::TCC_INTERRUPT_OVERFLOW Overflow Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_RETRIGGER Retrigger Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_COUNTER Counter Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_ERROR Error Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_UPDATE_FAULT Update Fault Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_DEBUG_FAULT Debug Fault Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_FAULT_A Fault A Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_FAULT_B Fault B Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_FAULT_0 Fault 0 Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_FAULT_1 Fault 1 Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_MATCH_COMPARE_0 Match/Compare 0 Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_MATCH_COMPARE_1 Match/Compare 1 Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_MATCH_COMPARE_2 Match/Compare 2 Interrupt. @ TCC_INTERRUPT::TCC_INTERRUPT_MATCH_COMPARE_3 Match/Compare 3 Interrupt.

Enumerator
TCC_INTERRUPT_OVERFLOW 

Overflow Interrupt

TCC_INTERRUPT_RETRIGGER 

Retrigger Interrupt

TCC_INTERRUPT_COUNTER 

Counter Interrupt

TCC_INTERRUPT_ERROR 

Error Interrupt

TCC_INTERRUPT_UPDATE_FAULT 

Update Fault Interrupt

TCC_INTERRUPT_DEBUG_FAULT 

Debug Fault Interrupt

TCC_INTERRUPT_FAULT_A 

Fault A Interrupt

TCC_INTERRUPT_FAULT_B 

Fault B Interrupt

TCC_INTERRUPT_FAULT_0 

Fault 0 Interrupt

TCC_INTERRUPT_FAULT_1 

Fault 1 Interrupt

TCC_INTERRUPT_MATCH_COMPARE_0 

Match/Compare 0 Interrupt

TCC_INTERRUPT_MATCH_COMPARE_1 

Match/Compare 1 Interrupt

TCC_INTERRUPT_MATCH_COMPARE_2 

Match/Compare 2 Interrupt

TCC_INTERRUPT_MATCH_COMPARE_3 

Match/Compare 3 Interrupt

◆ TCC_PRESCALER_SYNC_MODE

TCC0 prescaler synchronization mode.

Selects the prescaler synchronization mode for TCC0.

@ TCC_PRESCALER_SYNC_MODE::TCC_PRESCSYNC_GCLK Synchronize with GCLK. @ TCC_PRESCALER_SYNC_MODE::TCC_PRESCSYNC_PRESC Synchronize with prescaler. @ TCC_PRESCALER_SYNC_MODE::TCC_PRESCSYNC_RESYNC Resynchronize.

Enumerator
TCC_PRESCSYNC_GCLK 

Synchronize with GCLK

TCC_PRESCSYNC_PRESC 

Synchronize with prescaler

TCC_PRESCSYNC_RESYNC 

Resynchronize

◆ TCC_WAVE_GEN_MODE

TCC0 waveform generation mode.

Selects the waveform generation mode for TCC0.

@ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_NFRQ Normal Frequency. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_MFRQ Match Frequency. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_NPWM Normal PWM. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_DPWM Dual-slope PWM. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_DSCRITICAL Dual-slope critical. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_DSBOTTOM Dual-slope bottom. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_DSBOTH Dual-slope both. @ TCC_WAVE_GEN_MODE::TCC_WAVE_GEN_DSSTOP Dual-slope stop.

Enumerator
TCC_WAVE_GEN_NFRQ 

Normal Frequency

TCC_WAVE_GEN_MFRQ 

Match Frequency

TCC_WAVE_GEN_NPWM 

Normal PWM

TCC_WAVE_GEN_DPWM 

Dual-slope PWM

TCC_WAVE_GEN_DSCRITICAL 

Dual-slope critical

TCC_WAVE_GEN_DSBOTTOM 

Dual-slope bottom

TCC_WAVE_GEN_DSBOTH 

Dual-slope both

TCC_WAVE_GEN_DSSTOP 

Dual-slope stop

◆ TCC_WAVE_RAMP_OPERATION

TCC0 capture ramp operation selection.

Selects the ramp operation for TCC0 capture mode.

@ TCC_WAVE_RAMP_OPERATION::TCC_WAVE_RAMP_OPERATION_1 RAMP_OPERATION_1. @ TCC_WAVE_RAMP_OPERATION::TCC_WAVE_RAMP_OPERATION_2A RAMP_OPERATION_2A. @ TCC_WAVE_RAMP_OPERATION::TCC_WAVE_RAMP_OPERATION_2 RAMP_OPERATION_2. @ TCC_WAVE_RAMP_OPERATION::TCC_WAVE_RAMP_OPERATION_2C RAMP_OPERATION_2C. @ TCC_WAVE_RAMP_OPERATION::TCC_WAVE_RAMP_OPERATION_2CS RAMP_OPERATION_2CS (if defined).

Enumerator
TCC_WAVE_RAMP_OPERATION_1 

RAMP_OPERATION_1

TCC_WAVE_RAMP_OPERATION_2A 

RAMP_OPERATION_2A

TCC_WAVE_RAMP_OPERATION_2 

RAMP_OPERATION_2

TCC_WAVE_RAMP_OPERATION_2C 

RAMP_OPERATION_2C

Function Documentation

◆ TCC0_CAPTURE_CaptureIsStopped()

bool TCC0_CAPTURE_CaptureIsStopped ( void )

Check if the capture operation is stopped.

Parameters
None
Returns
true if stopped, false otherwise.

◆ TCC0_CAPTURE_ClearInterruptFlag()

void TCC0_CAPTURE_ClearInterruptFlag ( TCC_INTERRUPT flag)

Clear specific TCC0 capture interrupt flags.

Parameters
flagInterrupt flag mask.
Returns
None

◆ TCC0_CAPTURE_Disable()

void TCC0_CAPTURE_Disable ( void )

Disable the TCC0 capture module.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_DisableCaptureChannel()

void TCC0_CAPTURE_DisableCaptureChannel ( TCC_CAPTURE_CHANNEL channel)

Disable a capture channel.

Parameters
channelCapture channel number.
Returns
None

◆ TCC0_CAPTURE_DisableDMAOneShot()

void TCC0_CAPTURE_DisableDMAOneShot ( void )

Disable DMA one-shot mode.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_DisableEventOutput()

void TCC0_CAPTURE_DisableEventOutput ( TCC_CAPTURE_EVENT_OUTPUT event)

Disable event output for a specific event type.

Parameters
eventEvent output type (see TCC_CAPTURE_EVENT_OUTPUT).
Returns
None

◆ TCC0_CAPTURE_DisableFullCycleStop()

void TCC0_CAPTURE_DisableFullCycleStop ( void )

Disable full cycle stop (stop immediately).

Parameters
None
Returns
None

◆ TCC0_CAPTURE_DisableInputEvent()

void TCC0_CAPTURE_DisableInputEvent ( TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel)

Disable input event for the capture module.

Parameters
event_channelEvent input channel (see TCC_CAPTURE_EVENT_INPUT_CHANNEL).
Returns
None

◆ TCC0_CAPTURE_DisableInterrupt()

void TCC0_CAPTURE_DisableInterrupt ( TCC_INTERRUPT source)

Disable specific TCC0 capture interrupts.

Parameters
sourceInterrupt source mask of type TCC_INTERRUPT.
Returns
None

◆ TCC0_CAPTURE_DisableRunOnStandby()

void TCC0_CAPTURE_DisableRunOnStandby ( void )

Disable run in standby mode.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_Enable()

void TCC0_CAPTURE_Enable ( void )

Enable the TCC0 capture module.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_EnableCaptureChannel()

void TCC0_CAPTURE_EnableCaptureChannel ( TCC_CAPTURE_CHANNEL channel)

Enable a capture channel.

Parameters
channelCapture channel number.
Returns
None

◆ TCC0_CAPTURE_EnableDMAOneShot()

void TCC0_CAPTURE_EnableDMAOneShot ( void )

Enable DMA one-shot mode.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_EnableEventOutput()

void TCC0_CAPTURE_EnableEventOutput ( TCC_CAPTURE_EVENT_OUTPUT event)

Enable event output for a specific event type.

Parameters
eventEvent output type (see TCC_CAPTURE_EVENT_OUTPUT).
Returns
None

◆ TCC0_CAPTURE_EnableFullCycleStop()

void TCC0_CAPTURE_EnableFullCycleStop ( void )

Enable full cycle stop (wait for end of cycle before stopping).

Parameters
None
Returns
None

◆ TCC0_CAPTURE_EnableInputEvent()

void TCC0_CAPTURE_EnableInputEvent ( TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel)

Enable input event for the capture module.

Parameters
event_channelEvent input channel (see TCC_CAPTURE_EVENT_INPUT_CHANNEL).
Returns
None

◆ TCC0_CAPTURE_EnableInterrupt()

void TCC0_CAPTURE_EnableInterrupt ( TCC_INTERRUPT source)

Enable specific TCC0 capture interrupts.

Parameters
sourceInterrupt source mask of type TCC_INTERRUPT.
Returns
None

◆ TCC0_CAPTURE_EnableRunOnStandby()

void TCC0_CAPTURE_EnableRunOnStandby ( void )

Enable run in standby mode.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_FullCycleStopIsEnabled()

bool TCC0_CAPTURE_FullCycleStopIsEnabled ( void )

Check if full cycle stop is enabled.

Parameters
None
Returns
true if enabled, false otherwise.

◆ TCC0_CAPTURE_GetCaptureValue()

uint32_t TCC0_CAPTURE_GetCaptureValue ( TCC_CAPTURE_CHANNEL channel)

Get the captured value for a channel.

Parameters
channelCapture channel number.
Returns
Captured value.

◆ TCC0_CAPTURE_GetInterruptFlag()

uint32_t TCC0_CAPTURE_GetInterruptFlag ( void )

Get the current TCC0 capture interrupt flags.

Parameters
None
Returns
Interrupt flag mask.

◆ TCC0_CAPTURE_GetPrescaler()

uint32_t TCC0_CAPTURE_GetPrescaler ( void )

Get the current prescaler value.

Parameters
None
Returns
Prescaler value.

◆ TCC0_CAPTURE_Initialize()

void TCC0_CAPTURE_Initialize ( void )

Initialize the TCC0 capture module.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_ResetSoftware()

void TCC0_CAPTURE_ResetSoftware ( void )

Perform a software reset of the TCC0 capture module.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_RetriggerCapture()

void TCC0_CAPTURE_RetriggerCapture ( void )

Retrigger the capture operation.

Parameters
None
Returns
None

◆ TCC0_CAPTURE_SetCallbackHandler()

void TCC0_CAPTURE_SetCallbackHandler ( TCC0_CAPTURE_CALLBACK_HANDLER callback)

Register a callback for capture interrupts.

Parameters
callbackFunction pointer to callback.
Returns
true if registered, false if source invalid.

◆ TCC0_CAPTURE_SetClockPrescaler()

void TCC0_CAPTURE_SetClockPrescaler ( TCC_GCLK_PRESCALER prescaler,
TCC_PRESCALER_SYNC_MODE presc_sync_mode )

Set the prescaler and prescaler synchronization for TCC0 capture.

Parameters
prescalerPrescaler value.
presc_sync_modePrescaler synchronization value.
Returns
None

◆ TCC0_CAPTURE_SetEvent0InputAction()

void TCC0_CAPTURE_SetEvent0InputAction ( TCC_CAPTURE_INPUT_EVACT0 action)

Set event input action 0 for the timer.

Parameters
actionEvent action (see TCC_CAPTURE_INPUT_EVACT0).
Returns
None

◆ TCC0_CAPTURE_SetEvent1InputAction()

void TCC0_CAPTURE_SetEvent1InputAction ( TCC_CAPTURE_INPUT_EVACT1 action)

Set event input action 1 for the timer.

Parameters
actionEvent action (see TCC_CAPTURE_INPUT_EVACT1).
Returns
None

◆ TCC0_CAPTURE_SetEventInputPolarity()

void TCC0_CAPTURE_SetEventInputPolarity ( TCC_CAPTURE_EVENT_INPUT_CHANNEL event_channel,
TCC_CAPTURE_INPUT_SOURCE_POLARITY polarity )

Set event input polarity for the capture module.

Parameters
event_channelEvent input channel (see TCC_CAPTURE_EVENT_INPUT_CHANNEL).
polaritySignal polarity (normal or inverted).
Returns
None

◆ TCC0_CAPTURE_StopCapture()

void TCC0_CAPTURE_StopCapture ( void )

Stop the capture operation.

Parameters
None
Returns
None

◆ TCC0_SetInterruptHandler()

void TCC0_SetInterruptHandler ( void(*)(void) handler)

Registers the TCC0 interrupt callback function. The callback function can be called from main.c for direct callback registration.

Parameters
[in]callbackPointer to user-defined TCC0 interrupt handler function. Pass NULL to unregister any existing callback.