?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{BLAME START}

library

?curdirlinks? -

Blame information for rev 6

Line No. Rev Author Line
1 6 kaklik <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>Procyon AVRlib: Timer Function Library for ATmega128 (timer128.c)</title>
4 <link href="dox.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.4.2 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
8 <h1>Timer Function Library for ATmega128 (timer128.c)<br>
9 <small>
10 [<a class="el" href="group__driver__avr.html">Drivers (for AVR peripherals)</a>]</small>
11 </h1><hr><a name="_details"></a><h2>Detailed Description</h2>
12 <div class="fragment"><pre class="fragment"><span class="preprocessor"> #include "<a class="code" href="timer128_8h.html">timer128.h</a>"</span>
13 </pre></div> <dl compact><dt><b>Overview</b></dt><dd>This library provides functions for use with the timers internal to the AVR ATmega128.  Functions include initialization, set prescaler, calibrated pause function (in milliseconds), attaching and detaching of user functions to interrupts, overflow counters, and PWM.</dd></dl>
14 <dl compact><dt><b>About Timers</b></dt><dd>The Atmel AVR-series processors each contain at least one hardware timer/counter. Many of the processors contain 2 or 3 timers. Generally speaking, a timer is a hardware counter inside the processor which counts at a rate related to the main CPU clock frequency. Because the counter value increasing (counting up) at a precise rate, we can use it as a timer to create or measure precise delays, schedule events, or generate signals of a certain frequency or pulse-width. </dd></dl>
15 <dl compact><dt><b></b></dt><dd>As an example, the ATmega163 processor has 3 timer/counters. Timer0, Timer1, and Timer2 are 8, 16, and 8 bits wide respectively. This means that they overflow, or roll over back to zero, at a count value of 256 for 8bits or 65536 for 16bits. A prescaler is avaiable for each timer, and the prescaler allows you to pre-divide the main CPU clock rate down to a slower speed before feeding it to the counting input of a timer. For example, if the CPU clock frequency is 3.69MHz, and Timer0's prescaler is set to divide-by-8, then Timer0 will "tic" at 3690000/8 = 461250Hz. Because Timer0 is an 8bit timer, it will count to 256 in just 256/461250Hz = 0.555ms. In fact, when it hits 255, it will overflow and start again at zero. In this case, Timer0 will overflow 461250/256 = 1801.76 times per second. </dd></dl>
16 <dl compact><dt><b></b></dt><dd>Timer0 can be used a number of ways simultaneously. First, the value of the timer can be read by accessing the CPU register <code>TCNT0</code>. We could, for example, figure out how long it takes to execute a C command by recording the value of <code>TCNT0</code> before and after execution, then subtract (after-before) = time elapsed. Or we can enable the overflow interrupt which goes off every time T0 overflows and count out longer delays (multiple overflows), or execute a special periodic function at every overflow. </dd></dl>
17 <dl compact><dt><b></b></dt><dd>The other timers (Timer1 and Timer2) offer all the abilities of Timer0 and many more features. Both T1 and T2 can operate as general-purpose timers, but T1 has special hardware allowing it to generate PWM signals, while T2 is specially designed to help count out real time (like hours, minutes, seconds). See the Timer/Counter section of the processor datasheet for more info. </dd></dl>
18  
19 <p>
20 <table border="0" cellpadding="0" cellspacing="0">
21 <tr><td></td></tr>
22 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
23 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga45" doxytag="timer128::TIMER_CLK_STOP"></a>
24 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga45">TIMER_CLK_STOP</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
25  
26 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer Stopped. <br></td></tr>
27 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga46" doxytag="timer128::TIMER_CLK_DIV1"></a>
28 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga46">TIMER_CLK_DIV1</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
29  
30 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU. <br></td></tr>
31 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga47" doxytag="timer128::TIMER_CLK_DIV8"></a>
32 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga47">TIMER_CLK_DIV8</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
33  
34 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/8. <br></td></tr>
35 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga48" doxytag="timer128::TIMER_CLK_DIV64"></a>
36 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga48">TIMER_CLK_DIV64</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
37  
38 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/64. <br></td></tr>
39 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga49" doxytag="timer128::TIMER_CLK_DIV256"></a>
40 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga49">TIMER_CLK_DIV256</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
41  
42 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/256. <br></td></tr>
43 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga50" doxytag="timer128::TIMER_CLK_DIV1024"></a>
44 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga50">TIMER_CLK_DIV1024</a>&nbsp;&nbsp;&nbsp;0x05</td></tr>
45  
46 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/1024. <br></td></tr>
47 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga51" doxytag="timer128::TIMER_CLK_T_FALL"></a>
48 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga51">TIMER_CLK_T_FALL</a>&nbsp;&nbsp;&nbsp;0x06</td></tr>
49  
50 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at T falling edge. <br></td></tr>
51 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga52" doxytag="timer128::TIMER_CLK_T_RISE"></a>
52 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga52">TIMER_CLK_T_RISE</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
53  
54 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at T rising edge. <br></td></tr>
55 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga53" doxytag="timer128::TIMER_PRESCALE_MASK"></a>
56 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga53">TIMER_PRESCALE_MASK</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
57  
58 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer Prescaler Bit-Mask. <br></td></tr>
59 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga54" doxytag="timer128::TIMERRTC_CLK_STOP"></a>
60 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga54">TIMERRTC_CLK_STOP</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
61  
62 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer Stopped. <br></td></tr>
63 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga55" doxytag="timer128::TIMERRTC_CLK_DIV1"></a>
64 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga55">TIMERRTC_CLK_DIV1</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
65  
66 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU. <br></td></tr>
67 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga56" doxytag="timer128::TIMERRTC_CLK_DIV8"></a>
68 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga56">TIMERRTC_CLK_DIV8</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
69  
70 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/8. <br></td></tr>
71 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga57" doxytag="timer128::TIMERRTC_CLK_DIV32"></a>
72 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga57">TIMERRTC_CLK_DIV32</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
73  
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/32. <br></td></tr>
75 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga58" doxytag="timer128::TIMERRTC_CLK_DIV64"></a>
76 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga58">TIMERRTC_CLK_DIV64</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
77  
78 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/64. <br></td></tr>
79 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga59" doxytag="timer128::TIMERRTC_CLK_DIV128"></a>
80 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga59">TIMERRTC_CLK_DIV128</a>&nbsp;&nbsp;&nbsp;0x05</td></tr>
81  
82 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/128. <br></td></tr>
83 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga60" doxytag="timer128::TIMERRTC_CLK_DIV256"></a>
84 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga60">TIMERRTC_CLK_DIV256</a>&nbsp;&nbsp;&nbsp;0x06</td></tr>
85  
86 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/256. <br></td></tr>
87 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga61" doxytag="timer128::TIMERRTC_CLK_DIV1024"></a>
88 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga61">TIMERRTC_CLK_DIV1024</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
89  
90 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/1024. <br></td></tr>
91 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga62" doxytag="timer128::TIMERRTC_PRESCALE_MASK"></a>
92 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga62">TIMERRTC_PRESCALE_MASK</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
93  
94 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer Prescaler Bit-Mask. <br></td></tr>
95 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga63" doxytag="timer128::TIMER0PRESCALE"></a>
96 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga63">TIMER0PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMERRTC_CLK_DIV64</td></tr>
97  
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 0 prescaler default <br></td></tr>
99 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga64" doxytag="timer128::TIMER1PRESCALE"></a>
100 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga64">TIMER1PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMER_CLK_DIV64</td></tr>
101  
102 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 1 prescaler default <br></td></tr>
103 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga65" doxytag="timer128::TIMER2PRESCALE"></a>
104 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga65">TIMER2PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMER_CLK_DIV8</td></tr>
105  
106 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 2 prescaler default <br></td></tr>
107 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga66" doxytag="timer128::TIMER3PRESCALE"></a>
108 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga66">TIMER3PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMER_CLK_DIV64</td></tr>
109  
110 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 3 prescaler default <br></td></tr>
111 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga67" doxytag="timer128::TIMER0OVERFLOW_INT"></a>
112 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER0OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
113  
114 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga68" doxytag="timer128::TIMER0OUTCOMPARE_INT"></a>
115 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER0OUTCOMPARE_INT</b>&nbsp;&nbsp;&nbsp;1</td></tr>
116  
117 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga69" doxytag="timer128::TIMER1OVERFLOW_INT"></a>
118 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;2</td></tr>
119  
120 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga70" doxytag="timer128::TIMER1OUTCOMPAREA_INT"></a>
121 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OUTCOMPAREA_INT</b>&nbsp;&nbsp;&nbsp;3</td></tr>
122  
123 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga71" doxytag="timer128::TIMER1OUTCOMPAREB_INT"></a>
124 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OUTCOMPAREB_INT</b>&nbsp;&nbsp;&nbsp;4</td></tr>
125  
126 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga72" doxytag="timer128::TIMER1OUTCOMPAREC_INT"></a>
127 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OUTCOMPAREC_INT</b>&nbsp;&nbsp;&nbsp;5</td></tr>
128  
129 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga73" doxytag="timer128::TIMER1INPUTCAPTURE_INT"></a>
130 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1INPUTCAPTURE_INT</b>&nbsp;&nbsp;&nbsp;6</td></tr>
131  
132 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga74" doxytag="timer128::TIMER2OVERFLOW_INT"></a>
133 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER2OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;7</td></tr>
134  
135 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga75" doxytag="timer128::TIMER2OUTCOMPARE_INT"></a>
136 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER2OUTCOMPARE_INT</b>&nbsp;&nbsp;&nbsp;8</td></tr>
137  
138 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga76" doxytag="timer128::TIMER3OVERFLOW_INT"></a>
139 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER3OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;9</td></tr>
140  
141 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga77" doxytag="timer128::TIMER3OUTCOMPAREA_INT"></a>
142 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER3OUTCOMPAREA_INT</b>&nbsp;&nbsp;&nbsp;10</td></tr>
143  
144 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga78" doxytag="timer128::TIMER3OUTCOMPAREB_INT"></a>
145 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER3OUTCOMPAREB_INT</b>&nbsp;&nbsp;&nbsp;11</td></tr>
146  
147 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga79" doxytag="timer128::TIMER3OUTCOMPAREC_INT"></a>
148 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER3OUTCOMPAREC_INT</b>&nbsp;&nbsp;&nbsp;12</td></tr>
149  
150 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga80" doxytag="timer128::TIMER3INPUTCAPTURE_INT"></a>
151 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER3INPUTCAPTURE_INT</b>&nbsp;&nbsp;&nbsp;13</td></tr>
152  
153 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga81" doxytag="timer128::TIMER_NUM_INTERRUPTS"></a>
154 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER_NUM_INTERRUPTS</b>&nbsp;&nbsp;&nbsp;14</td></tr>
155  
156 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga82" doxytag="timer128::TIMER_INTERRUPT_HANDLER"></a>
157 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER_INTERRUPT_HANDLER</b>&nbsp;&nbsp;&nbsp;SIGNAL</td></tr>
158  
159 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga83" doxytag="timer128::delay"></a>
160 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>delay</b>&nbsp;&nbsp;&nbsp;delay_us</td></tr>
161  
162 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga84" doxytag="timer128::delay_ms"></a>
163 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>delay_ms</b>&nbsp;&nbsp;&nbsp;timerPause</td></tr>
164  
165 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
166 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0" doxytag="timer128::delay_us"></a>
167 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>delay_us</b> (unsigned short time_us)</td></tr>
168  
169 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="timer128::timerInit"></a>
170 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga1">timerInit</a> (void)</td></tr>
171  
172 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initializes timing system (all timers) <br></td></tr>
173 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="timer128::timer0Init"></a>
174 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga2">timer0Init</a> (void)</td></tr>
175  
176 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize timer0 <br></td></tr>
177 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="timer128::timer1Init"></a>
178 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga3">timer1Init</a> (void)</td></tr>
179  
180 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize timer1 <br></td></tr>
181 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga4" doxytag="timer128::timer2Init"></a>
182 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>timer2Init</b> (void)</td></tr>
183  
184 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="timer128::timer3Init"></a>
185 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>timer3Init</b> (void)</td></tr>
186  
187 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="timer128::timer0SetPrescaler"></a>
188 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga6">timer0SetPrescaler</a> (u08 prescale)</td></tr>
189  
190 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer0 prescaler division index <br></td></tr>
191 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7" doxytag="timer128::timer1SetPrescaler"></a>
192 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga7">timer1SetPrescaler</a> (u08 prescale)</td></tr>
193  
194 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer1 prescaler division index <br></td></tr>
195 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga8" doxytag="timer128::timer2SetPrescaler"></a>
196 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga8">timer2SetPrescaler</a> (u08 prescale)</td></tr>
197  
198 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer2 prescaler division index <br></td></tr>
199 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga9" doxytag="timer128::timer3SetPrescaler"></a>
200 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga9">timer3SetPrescaler</a> (u08 prescale)</td></tr>
201  
202 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer3 prescaler division index <br></td></tr>
203 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga10" doxytag="timer128::timer0GetPrescaler"></a>
204 u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga10">timer0GetPrescaler</a> (void)</td></tr>
205  
206 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer0 prescaler division rate <br></td></tr>
207 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga11" doxytag="timer128::timer1GetPrescaler"></a>
208 u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga11">timer1GetPrescaler</a> (void)</td></tr>
209  
210 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer1 prescaler division rate <br></td></tr>
211 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga12" doxytag="timer128::timer2GetPrescaler"></a>
212 u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga12">timer2GetPrescaler</a> (void)</td></tr>
213  
214 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer2 prescaler division rate <br></td></tr>
215 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga13" doxytag="timer128::timer3GetPrescaler"></a>
216 u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga13">timer3GetPrescaler</a> (void)</td></tr>
217  
218 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer3 prescaler division rate <br></td></tr>
219 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga14" doxytag="timer128::timerAttach"></a>
220 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga14">timerAttach</a> (u08 interruptNum, void(*userFunc)(void))</td></tr>
221  
222 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a user function to a timer interrupt. <br></td></tr>
223 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga15" doxytag="timer128::timerDetach"></a>
224 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga15">timerDetach</a> (u08 interruptNum)</td></tr>
225  
226 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detach a user function from a timer interrupt. <br></td></tr>
227 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga16">timerPause</a> (unsigned short pause_ms)</td></tr>
228  
229 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga17" doxytag="timer128::timer0ClearOverflowCount"></a>
230 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga17">timer0ClearOverflowCount</a> (void)</td></tr>
231  
232 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear timer0's overflow counter. <br></td></tr>
233 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga18" doxytag="timer128::timer0GetOverflowCount"></a>
234 long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga18">timer0GetOverflowCount</a> (void)</td></tr>
235  
236 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read timer0's overflow counter <br></td></tr>
237 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga19" doxytag="timer128::timer2ClearOverflowCount"></a>
238 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>timer2ClearOverflowCount</b> (void)</td></tr>
239  
240 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga20" doxytag="timer128::timer2GetOverflowCount"></a>
241 long&nbsp;</td><td class="memItemRight" valign="bottom"><b>timer2GetOverflowCount</b> (void)</td></tr>
242  
243 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga21">timer1PWMInit</a> (u08 bitRes)</td></tr>
244  
245 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize and set timer1 mode to PWM <a href="#ga21"></a><br></td></tr>
246 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga22">timer1PWMInitICR</a> (u16 topcount)</td></tr>
247  
248 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize and set timer1 mode to PWM with specific top count <a href="#ga22"></a><br></td></tr>
249 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga23" doxytag="timer128::timer1PWMOff"></a>
250 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga23">timer1PWMOff</a> (void)</td></tr>
251  
252 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off all timer1 PWM output and set timer mode to normal <br></td></tr>
253 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga24" doxytag="timer128::timer1PWMAOn"></a>
254 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga24">timer1PWMAOn</a> (void)</td></tr>
255  
256 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn on timer1 Channel A (OC1A) PWM output <br></td></tr>
257 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga25" doxytag="timer128::timer1PWMBOn"></a>
258 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga25">timer1PWMBOn</a> (void)</td></tr>
259  
260 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn on timer1 Channel B (OC1B) PWM output <br></td></tr>
261 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga26" doxytag="timer128::timer1PWMCOn"></a>
262 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga26">timer1PWMCOn</a> (void)</td></tr>
263  
264 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn on timer1 Channel C (OC1C) PWM output <br></td></tr>
265 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga27" doxytag="timer128::timer1PWMAOff"></a>
266 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga27">timer1PWMAOff</a> (void)</td></tr>
267  
268 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off timer1 Channel A (OC1A) PWM output <br></td></tr>
269 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga28" doxytag="timer128::timer1PWMBOff"></a>
270 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga28">timer1PWMBOff</a> (void)</td></tr>
271  
272 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off timer1 Channel B (OC1B) PWM output <br></td></tr>
273 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga29" doxytag="timer128::timer1PWMCOff"></a>
274 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga29">timer1PWMCOff</a> (void)</td></tr>
275  
276 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off timer1 Channel C (OC1C) PWM output <br></td></tr>
277 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga30" doxytag="timer128::timer1PWMASet"></a>
278 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga30">timer1PWMASet</a> (u16 pwmDuty)</td></tr>
279  
280 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set duty of timer1 Channel A (OC1A) PWM output <br></td></tr>
281 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga31" doxytag="timer128::timer1PWMBSet"></a>
282 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga31">timer1PWMBSet</a> (u16 pwmDuty)</td></tr>
283  
284 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set duty of timer1 Channel B (OC1B) PWM output <br></td></tr>
285 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga32" doxytag="timer128::timer1PWMCSet"></a>
286 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga32">timer1PWMCSet</a> (u16 pwmDuty)</td></tr>
287  
288 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set duty of timer1 Channel C (OC1C) PWM output <br></td></tr>
289 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga33" doxytag="timer128::timer3PWMInit"></a>
290 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga33">timer3PWMInit</a> (u08 bitRes)</td></tr>
291  
292 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize and set timer3 mode to PWM <br></td></tr>
293 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga34" doxytag="timer128::timer3PWMInitICR"></a>
294 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga34">timer3PWMInitICR</a> (u16 topcount)</td></tr>
295  
296 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize and set timer3 mode to PWM with specific top count <br></td></tr>
297 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga35" doxytag="timer128::timer3PWMOff"></a>
298 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga35">timer3PWMOff</a> (void)</td></tr>
299  
300 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off all timer3 PWM output and set timer mode to normal <br></td></tr>
301 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga36" doxytag="timer128::timer3PWMAOn"></a>
302 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga36">timer3PWMAOn</a> (void)</td></tr>
303  
304 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn on timer3 Channel A (OC3A) PWM output <br></td></tr>
305 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga37" doxytag="timer128::timer3PWMBOn"></a>
306 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga37">timer3PWMBOn</a> (void)</td></tr>
307  
308 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn on timer3 Channel B (OC3B) PWM output <br></td></tr>
309 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga38" doxytag="timer128::timer3PWMCOn"></a>
310 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga38">timer3PWMCOn</a> (void)</td></tr>
311  
312 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn on timer3 Channel C (OC3C) PWM output <br></td></tr>
313 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga39" doxytag="timer128::timer3PWMAOff"></a>
314 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga39">timer3PWMAOff</a> (void)</td></tr>
315  
316 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off timer3 Channel A (OC3A) PWM output <br></td></tr>
317 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga40" doxytag="timer128::timer3PWMBOff"></a>
318 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga40">timer3PWMBOff</a> (void)</td></tr>
319  
320 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off timer3 Channel B (OC3B) PWM output <br></td></tr>
321 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga41" doxytag="timer128::timer3PWMCOff"></a>
322 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga41">timer3PWMCOff</a> (void)</td></tr>
323  
324 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">turn off timer3 Channel C (OC3C) PWM output <br></td></tr>
325 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga42" doxytag="timer128::timer3PWMASet"></a>
326 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga42">timer3PWMASet</a> (u16 pwmDuty)</td></tr>
327  
328 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set duty of timer3 Channel A (OC3A) PWM output <br></td></tr>
329 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga43" doxytag="timer128::timer3PWMBSet"></a>
330 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga43">timer3PWMBSet</a> (u16 pwmDuty)</td></tr>
331  
332 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set duty of timer3 Channel B (OC3B) PWM output <br></td></tr>
333 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga44" doxytag="timer128::timer3PWMCSet"></a>
334 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timer128.html#ga44">timer3PWMCSet</a> (u16 pwmDuty)</td></tr>
335  
336 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set duty of timer3 Channel C (OC3C) PWM output <br></td></tr>
337 </table>
338 <hr><h2>Function Documentation</h2>
339 <a class="anchor" name="ga21" doxytag="timer128.h::timer1PWMInit"></a><p>
340 <table class="mdTable" cellpadding="2" cellspacing="0">
341 <tr>
342 <td class="mdRow">
343 <table cellpadding="0" cellspacing="0" border="0">
344 <tr>
345 <td class="md" nowrap valign="top">void timer1PWMInit </td>
346 <td class="md" valign="top">(&nbsp;</td>
347 <td class="md" nowrap valign="top">u08&nbsp;</td>
348 <td class="mdname1" valign="top" nowrap> <em>bitRes</em> </td>
349 <td class="md" valign="top">&nbsp;)&nbsp;</td>
350 <td class="md" nowrap></td>
351 </tr>
352 </table>
353 </td>
354 </tr>
355 </table>
356 <table cellspacing="5" cellpadding="0" border="0">
357 <tr>
358 <td>
359 &nbsp;
360 </td>
361 <td>
362  
363 <p>
364 Enter standard PWM Mode on timer1. <dl compact><dt><b>Parameters:</b></dt><dd>
365 <table border="0" cellspacing="2" cellpadding="0">
366 <tr><td valign="top"></td><td valign="top"><em>bitRes</em>&nbsp;</td><td>indicates the period/resolution to use for PWM output in timer bits. Must be either 8, 9, or 10 bits corresponding to PWM periods of 256, 512, or 1024 timer tics. </td></tr>
367 </table>
368 </dl>
369  
370 <p>
371 Definition at line <a class="el" href="timer_8c-source.html#l00277">277</a> of file <a class="el" href="timer_8c-source.html">timer.c</a>. </td>
372 </tr>
373 </table>
374 <a class="anchor" name="ga22" doxytag="timer128.h::timer1PWMInitICR"></a><p>
375 <table class="mdTable" cellpadding="2" cellspacing="0">
376 <tr>
377 <td class="mdRow">
378 <table cellpadding="0" cellspacing="0" border="0">
379 <tr>
380 <td class="md" nowrap valign="top">void timer1PWMInitICR </td>
381 <td class="md" valign="top">(&nbsp;</td>
382 <td class="md" nowrap valign="top">u16&nbsp;</td>
383 <td class="mdname1" valign="top" nowrap> <em>topcount</em> </td>
384 <td class="md" valign="top">&nbsp;)&nbsp;</td>
385 <td class="md" nowrap></td>
386 </tr>
387 </table>
388 </td>
389 </tr>
390 </table>
391 <table cellspacing="5" cellpadding="0" border="0">
392 <tr>
393 <td>
394 &nbsp;
395 </td>
396 <td>
397  
398 <p>
399 Enter PWM Mode on timer1 with a specific top-count value. <dl compact><dt><b>Parameters:</b></dt><dd>
400 <table border="0" cellspacing="2" cellpadding="0">
401 <tr><td valign="top"></td><td valign="top"><em>topcount</em>&nbsp;</td><td>indicates the desired PWM period in timer tics. Can be a number between 1 and 65535 (16-bit). </td></tr>
402 </table>
403 </dl>
404  
405 <p>
406 Definition at line <a class="el" href="timer128_8c-source.html#l00297">297</a> of file <a class="el" href="timer128_8c-source.html">timer128.c</a>. </td>
407 </tr>
408 </table>
409 <a class="anchor" name="ga16" doxytag="timer128.h::timerPause"></a><p>
410 <table class="mdTable" cellpadding="2" cellspacing="0">
411 <tr>
412 <td class="mdRow">
413 <table cellpadding="0" cellspacing="0" border="0">
414 <tr>
415 <td class="md" nowrap valign="top">void timerPause </td>
416 <td class="md" valign="top">(&nbsp;</td>
417 <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
418 <td class="mdname1" valign="top" nowrap> <em>pause_ms</em> </td>
419 <td class="md" valign="top">&nbsp;)&nbsp;</td>
420 <td class="md" nowrap></td>
421 </tr>
422 </table>
423 </td>
424 </tr>
425 </table>
426 <table cellspacing="5" cellpadding="0" border="0">
427 <tr>
428 <td>
429 &nbsp;
430 </td>
431 <td>
432  
433 <p>
434 A timer-based delay/pause function <dl compact><dt><b>Parameters:</b></dt><dd>
435 <table border="0" cellspacing="2" cellpadding="0">
436 <tr><td valign="top"></td><td valign="top"><em>pause_ms</em>&nbsp;</td><td>Number of integer milliseconds to wait. </td></tr>
437 </table>
438 </dl>
439  
440 <p>
441 Definition at line <a class="el" href="timer_8c-source.html#l00204">204</a> of file <a class="el" href="timer_8c-source.html">timer.c</a>. </td>
442 </tr>
443 </table>
444 <hr size="1"><address style="align: right;"><small>Generated on Sun Oct 29 03:41:09 2006 for Procyon AVRlib by&nbsp;
445 <a href="http://www.doxygen.org/index.html">
446 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
447 </body>
448 </html>
{BLAME END}
{FOOTER START}

Powered by WebSVN v2.8.3