<h1>ttcps v2_0</h1><p>This is the driver for one 16-bit timer counter in the Triple Timer Counter (TTC) module in the Ps block.</p>
<p>The TTC module provides three independent timer/counter modules that can each be clocked using either the system clock (pclk) or an externally driven clock (ext_clk). In addition, each counter can independently prescale its selected clock input (divided by 2 to 65536). Counters can be set to decrement or increment.</p>
<p>Each of the counters can be programmed to generate interrupt pulses: . At a regular, predefined period, that is on a timed interval . When the counter registers overflow . When the count matches any one of the three 'match' registers</p>
<p>Therefore, up to six different events can trigger a timer interrupt: three match interrupts, an overflow interrupt, an interval interrupt and an event timer interrupt. Note that the overflow interrupt and the interval interrupt are mutually exclusive.</p>
<p><b>Initialization & Configuration</b></p>
<p>An <aclass="el"href="struct_x_ttc_ps___config.html">XTtcPs_Config</a> structure is used to configure a driver instance. Information in the <aclass="el"href="struct_x_ttc_ps___config.html">XTtcPs_Config</a> structure is the hardware properties about the device.</p>
<p>A driver instance is initialized through XTtcPs_CfgInitialize(InstancePtr, CfgPtr, EffectiveAddr). Where CfgPtr is a pointer to the <aclass="el"href="struct_x_ttc_ps___config.html">XTtcPs_Config</a> structure, it can be looked up statically through XTtcPs_LookupConfig(DeviceID), or passed in by the caller. The EffectiveAddr can be the static base address of the device or virtual mapped address if address translation is supported.</p>
<p><b>Interrupts</b></p>
<p>Interrupt handler is not provided by the driver, as handling of interrupt is application specific.</p>
<dlclass="note"><dt><b>Note:</b></dt><dd>The default setting for a timer/counter is:<ul>