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. | |
Driver API for TCC (plib_tcc0_capture.h)
The following example demonstrates typical usage of the TCC peripheral:
| TCC0_CAPTURE_CALLBACK_HANDLER |
Callback handler type for TCC0 capture interrupts.
| int_cause | Interrupt source mask of type TCC_INTERRUPT. |
| enum 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 |
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.
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.
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 |
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 |
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 |
| enum TCC_COUNT_DIRECTION |
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 |
| enum 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.
| enum 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.
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 |
| enum 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.
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 |
| bool TCC0_CAPTURE_CaptureIsStopped | ( | void | ) |
Check if the capture operation is stopped.
| None |
| void TCC0_CAPTURE_ClearInterruptFlag | ( | TCC_INTERRUPT | flag | ) |
Clear specific TCC0 capture interrupt flags.
| flag | Interrupt flag mask. |
| void TCC0_CAPTURE_Disable | ( | void | ) |
Disable the TCC0 capture module.
| None |
| void TCC0_CAPTURE_DisableCaptureChannel | ( | TCC_CAPTURE_CHANNEL | channel | ) |
Disable a capture channel.
| channel | Capture channel number. |
| void TCC0_CAPTURE_DisableDMAOneShot | ( | void | ) |
Disable DMA one-shot mode.
| None |
| void TCC0_CAPTURE_DisableEventOutput | ( | TCC_CAPTURE_EVENT_OUTPUT | event | ) |
Disable event output for a specific event type.
| event | Event output type (see TCC_CAPTURE_EVENT_OUTPUT). |
| void TCC0_CAPTURE_DisableFullCycleStop | ( | void | ) |
Disable full cycle stop (stop immediately).
| None |
| void TCC0_CAPTURE_DisableInputEvent | ( | TCC_CAPTURE_EVENT_INPUT_CHANNEL | event_channel | ) |
Disable input event for the capture module.
| event_channel | Event input channel (see TCC_CAPTURE_EVENT_INPUT_CHANNEL). |
| void TCC0_CAPTURE_DisableInterrupt | ( | TCC_INTERRUPT | source | ) |
Disable specific TCC0 capture interrupts.
| source | Interrupt source mask of type TCC_INTERRUPT. |
| void TCC0_CAPTURE_DisableRunOnStandby | ( | void | ) |
Disable run in standby mode.
| None |
| void TCC0_CAPTURE_Enable | ( | void | ) |
Enable the TCC0 capture module.
| None |
| void TCC0_CAPTURE_EnableCaptureChannel | ( | TCC_CAPTURE_CHANNEL | channel | ) |
Enable a capture channel.
| channel | Capture channel number. |
| void TCC0_CAPTURE_EnableDMAOneShot | ( | void | ) |
Enable DMA one-shot mode.
| None |
| void TCC0_CAPTURE_EnableEventOutput | ( | TCC_CAPTURE_EVENT_OUTPUT | event | ) |
Enable event output for a specific event type.
| event | Event output type (see TCC_CAPTURE_EVENT_OUTPUT). |
| void TCC0_CAPTURE_EnableFullCycleStop | ( | void | ) |
Enable full cycle stop (wait for end of cycle before stopping).
| None |
| void TCC0_CAPTURE_EnableInputEvent | ( | TCC_CAPTURE_EVENT_INPUT_CHANNEL | event_channel | ) |
Enable input event for the capture module.
| event_channel | Event input channel (see TCC_CAPTURE_EVENT_INPUT_CHANNEL). |
| void TCC0_CAPTURE_EnableInterrupt | ( | TCC_INTERRUPT | source | ) |
Enable specific TCC0 capture interrupts.
| source | Interrupt source mask of type TCC_INTERRUPT. |
| void TCC0_CAPTURE_EnableRunOnStandby | ( | void | ) |
Enable run in standby mode.
| None |
| bool TCC0_CAPTURE_FullCycleStopIsEnabled | ( | void | ) |
Check if full cycle stop is enabled.
| None |
| uint32_t TCC0_CAPTURE_GetCaptureValue | ( | TCC_CAPTURE_CHANNEL | channel | ) |
Get the captured value for a channel.
| channel | Capture channel number. |
| uint32_t TCC0_CAPTURE_GetInterruptFlag | ( | void | ) |
Get the current TCC0 capture interrupt flags.
| None |
| uint32_t TCC0_CAPTURE_GetPrescaler | ( | void | ) |
Get the current prescaler value.
| None |
| void TCC0_CAPTURE_Initialize | ( | void | ) |
Initialize the TCC0 capture module.
| None |
| void TCC0_CAPTURE_ResetSoftware | ( | void | ) |
Perform a software reset of the TCC0 capture module.
| None |
| void TCC0_CAPTURE_RetriggerCapture | ( | void | ) |
Retrigger the capture operation.
| None |
| void TCC0_CAPTURE_SetCallbackHandler | ( | TCC0_CAPTURE_CALLBACK_HANDLER | callback | ) |
Register a callback for capture interrupts.
| callback | Function pointer to callback. |
| void TCC0_CAPTURE_SetClockPrescaler | ( | TCC_GCLK_PRESCALER | prescaler, |
| TCC_PRESCALER_SYNC_MODE | presc_sync_mode ) |
Set the prescaler and prescaler synchronization for TCC0 capture.
| prescaler | Prescaler value. |
| presc_sync_mode | Prescaler synchronization value. |
| void TCC0_CAPTURE_SetEvent0InputAction | ( | TCC_CAPTURE_INPUT_EVACT0 | action | ) |
Set event input action 0 for the timer.
| action | Event action (see TCC_CAPTURE_INPUT_EVACT0). |
| void TCC0_CAPTURE_SetEvent1InputAction | ( | TCC_CAPTURE_INPUT_EVACT1 | action | ) |
Set event input action 1 for the timer.
| action | Event action (see TCC_CAPTURE_INPUT_EVACT1). |
| 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.
| event_channel | Event input channel (see TCC_CAPTURE_EVENT_INPUT_CHANNEL). |
| polarity | Signal polarity (normal or inverted). |
| void TCC0_CAPTURE_StopCapture | ( | void | ) |
Stop the capture operation.
| None |
| 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.
| [in] | callback | Pointer to user-defined TCC0 interrupt handler function. Pass NULL to unregister any existing callback. |