Microchip® Advanced Software Framework

TCC configuration structure.

Configuration struct for a TCC instance. This structure should be initialized by the tcc_get_config_defaults function before being modified by the user application.

#include <tcc.h>

Data Fields

union {
   struct tcc_capture_config   capture
 Helps to configure a TCC channel in capture mode. More...
 
   struct tcc_match_wave_config   compare
 For configuring a TCC channel in compare mode. More...
 
   struct tcc_match_wave_config   wave
 Serves the same purpose as compare. More...
 
}; 
 TCC match/capture configurations. More...
 
struct tcc_counter_config counter
 Structure for configuring TCC base timer/counter. More...
 
bool double_buffering_enabled
 Set to true to enable double buffering write. More...
 
struct tcc_pins_config pins
 Structure for configuring TCC output pins. More...
 
bool run_in_standby
 When true the module is enabled during standby. More...
 
struct tcc_wave_extension_config wave_ext
 Structure for configuring TCC waveform extension. More...
 

union { ... }

TCC match/capture configurations.

struct tcc_capture_config tcc_config::capture

Helps to configure a TCC channel in capture mode.

Referenced by _tcc_build_ctrla().

struct tcc_match_wave_config tcc_config::compare

For configuring a TCC channel in compare mode.

Referenced by _tcc_build_waves(), tcc_get_config_defaults(), and tcc_init().

struct tcc_counter_config tcc_config::counter

Structure for configuring TCC base timer/counter.

Referenced by _tcc_build_ctrla(), _tcc_build_ctrlb(), sw_timer_init(), tcc_get_config_defaults(), and tcc_init().

bool tcc_config::double_buffering_enabled

Set to true to enable double buffering write.

When enabled any write through tcc_set_top_value(), tcc_set_compare_value() and tcc_set_pattern() will direct to the buffer register as buffered value, and the buffered value will be committed to effective register on UPDATE condition, if update is not locked.

Note
The init values in tcc_config for tcc_init are always filled to effective registers, no matter if double buffering is enabled or not.

Referenced by tcc_get_config_defaults(), and tcc_init().

struct tcc_pins_config tcc_config::pins

Structure for configuring TCC output pins.

Referenced by tcc_init().

bool tcc_config::run_in_standby

When true the module is enabled during standby.

Referenced by _tcc_build_ctrla(), and tcc_get_config_defaults().

struct tcc_match_wave_config tcc_config::wave

Serves the same purpose as compare.

Used as an alias for compare, when a TCC channel is configured for wave generation

struct tcc_wave_extension_config tcc_config::wave_ext

Structure for configuring TCC waveform extension.

Referenced by _tcc_build_drvctrl(), and _tcc_build_faults().