?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 ATmegaXX8 (timerx8.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 ATmegaXX8 (timerx8.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="timerx8_8h.html">timerx8.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 processors. Functions include initialization, set prescaler, calibrated pause function (in milliseconds), attaching and detaching of user functions to interrupts, overflow counters, PWM. Arbitrary frequency generation has been moved to the Pulse Library.</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>Modules</h2></td></tr>
23 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerpwm.html">Timer PWM Commands</a></td></tr>
24  
25 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
26 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga13" doxytag="timerx8::PWM10"></a>
27 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PWM10</b>&nbsp;&nbsp;&nbsp;WGM10</td></tr>
28  
29 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga14" doxytag="timerx8::PWM11"></a>
30 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PWM11</b>&nbsp;&nbsp;&nbsp;WGM11</td></tr>
31  
32 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga15" doxytag="timerx8::TIMER_CLK_STOP"></a>
33 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga15">TIMER_CLK_STOP</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
34  
35 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer Stopped. <br></td></tr>
36 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga16" doxytag="timerx8::TIMER_CLK_DIV1"></a>
37 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga16">TIMER_CLK_DIV1</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
38  
39 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU. <br></td></tr>
40 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga17" doxytag="timerx8::TIMER_CLK_DIV8"></a>
41 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga17">TIMER_CLK_DIV8</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
42  
43 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/8. <br></td></tr>
44 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga18" doxytag="timerx8::TIMER_CLK_DIV64"></a>
45 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga18">TIMER_CLK_DIV64</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
46  
47 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/64. <br></td></tr>
48 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga19" doxytag="timerx8::TIMER_CLK_DIV256"></a>
49 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga19">TIMER_CLK_DIV256</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
50  
51 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/256. <br></td></tr>
52 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga20" doxytag="timerx8::TIMER_CLK_DIV1024"></a>
53 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga20">TIMER_CLK_DIV1024</a>&nbsp;&nbsp;&nbsp;0x05</td></tr>
54  
55 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at F_CPU/1024. <br></td></tr>
56 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga21" doxytag="timerx8::TIMER_CLK_T_FALL"></a>
57 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga21">TIMER_CLK_T_FALL</a>&nbsp;&nbsp;&nbsp;0x06</td></tr>
58  
59 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at T falling edge. <br></td></tr>
60 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga22" doxytag="timerx8::TIMER_CLK_T_RISE"></a>
61 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga22">TIMER_CLK_T_RISE</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
62  
63 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer clocked at T rising edge. <br></td></tr>
64 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga23" doxytag="timerx8::TIMER_PRESCALE_MASK"></a>
65 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga23">TIMER_PRESCALE_MASK</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
66  
67 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer Prescaler Bit-Mask. <br></td></tr>
68 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga24" doxytag="timerx8::TIMERRTC_CLK_STOP"></a>
69 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga24">TIMERRTC_CLK_STOP</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
70  
71 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer Stopped. <br></td></tr>
72 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga25" doxytag="timerx8::TIMERRTC_CLK_DIV1"></a>
73 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga25">TIMERRTC_CLK_DIV1</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
74  
75 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU. <br></td></tr>
76 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga26" doxytag="timerx8::TIMERRTC_CLK_DIV8"></a>
77 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga26">TIMERRTC_CLK_DIV8</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
78  
79 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/8. <br></td></tr>
80 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga27" doxytag="timerx8::TIMERRTC_CLK_DIV32"></a>
81 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga27">TIMERRTC_CLK_DIV32</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
82  
83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/32. <br></td></tr>
84 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga28" doxytag="timerx8::TIMERRTC_CLK_DIV64"></a>
85 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga28">TIMERRTC_CLK_DIV64</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
86  
87 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/64. <br></td></tr>
88 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga29" doxytag="timerx8::TIMERRTC_CLK_DIV128"></a>
89 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga29">TIMERRTC_CLK_DIV128</a>&nbsp;&nbsp;&nbsp;0x05</td></tr>
90  
91 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/128. <br></td></tr>
92 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga30" doxytag="timerx8::TIMERRTC_CLK_DIV256"></a>
93 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga30">TIMERRTC_CLK_DIV256</a>&nbsp;&nbsp;&nbsp;0x06</td></tr>
94  
95 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/256. <br></td></tr>
96 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga31" doxytag="timerx8::TIMERRTC_CLK_DIV1024"></a>
97 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga31">TIMERRTC_CLK_DIV1024</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
98  
99 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer clocked at F_CPU/1024. <br></td></tr>
100 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga32" doxytag="timerx8::TIMERRTC_PRESCALE_MASK"></a>
101 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga32">TIMERRTC_PRESCALE_MASK</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
102  
103 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RTC Timer Prescaler Bit-Mask. <br></td></tr>
104 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga33" doxytag="timerx8::TIMER0PRESCALE"></a>
105 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga33">TIMER0PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMER_CLK_DIV8</td></tr>
106  
107 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 0 prescaler default <br></td></tr>
108 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga34" doxytag="timerx8::TIMER1PRESCALE"></a>
109 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga34">TIMER1PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMER_CLK_DIV64</td></tr>
110  
111 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 1 prescaler default <br></td></tr>
112 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga35" doxytag="timerx8::TIMER2PRESCALE"></a>
113 #define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga35">TIMER2PRESCALE</a>&nbsp;&nbsp;&nbsp;TIMERRTC_CLK_DIV64</td></tr>
114  
115 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">timer 2 prescaler default <br></td></tr>
116 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga36" doxytag="timerx8::TIMER0OVERFLOW_INT"></a>
117 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER0OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;0</td></tr>
118  
119 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga37" doxytag="timerx8::TIMER1OVERFLOW_INT"></a>
120 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;1</td></tr>
121  
122 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga38" doxytag="timerx8::TIMER1OUTCOMPAREA_INT"></a>
123 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OUTCOMPAREA_INT</b>&nbsp;&nbsp;&nbsp;2</td></tr>
124  
125 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga39" doxytag="timerx8::TIMER1OUTCOMPAREB_INT"></a>
126 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1OUTCOMPAREB_INT</b>&nbsp;&nbsp;&nbsp;3</td></tr>
127  
128 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga40" doxytag="timerx8::TIMER1INPUTCAPTURE_INT"></a>
129 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER1INPUTCAPTURE_INT</b>&nbsp;&nbsp;&nbsp;4</td></tr>
130  
131 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga41" doxytag="timerx8::TIMER2OVERFLOW_INT"></a>
132 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER2OVERFLOW_INT</b>&nbsp;&nbsp;&nbsp;5</td></tr>
133  
134 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga42" doxytag="timerx8::TIMER2OUTCOMPARE_INT"></a>
135 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER2OUTCOMPARE_INT</b>&nbsp;&nbsp;&nbsp;6</td></tr>
136  
137 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga43" doxytag="timerx8::TIMER_NUM_INTERRUPTS"></a>
138 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER_NUM_INTERRUPTS</b>&nbsp;&nbsp;&nbsp;7</td></tr>
139  
140 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga44" doxytag="timerx8::TIMER_INTERRUPT_HANDLER"></a>
141 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIMER_INTERRUPT_HANDLER</b>&nbsp;&nbsp;&nbsp;SIGNAL</td></tr>
142  
143 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga45" doxytag="timerx8::delay"></a>
144 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>delay</b>&nbsp;&nbsp;&nbsp;delay_us</td></tr>
145  
146 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga46" doxytag="timerx8::delay_ms"></a>
147 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>delay_ms</b>&nbsp;&nbsp;&nbsp;timerPause</td></tr>
148  
149 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
150 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0" doxytag="timerx8::delay_us"></a>
151 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>delay_us</b> (unsigned short time_us)</td></tr>
152  
153 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1" doxytag="timerx8::timerInit"></a>
154 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga1">timerInit</a> (void)</td></tr>
155  
156 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initializes timing system (all timers) <br></td></tr>
157 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="timerx8::timer0Init"></a>
158 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga2">timer0Init</a> (void)</td></tr>
159  
160 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize timer0 <br></td></tr>
161 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="timerx8::timer1Init"></a>
162 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga3">timer1Init</a> (void)</td></tr>
163  
164 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize timer1 <br></td></tr>
165 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga4" doxytag="timerx8::timer0SetPrescaler"></a>
166 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga4">timer0SetPrescaler</a> (u08 prescale)</td></tr>
167  
168 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer0 prescaler <br></td></tr>
169 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="timerx8::timer0GetPrescaler"></a>
170 u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga5">timer0GetPrescaler</a> (void)</td></tr>
171  
172 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer0 prescaler <br></td></tr>
173 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="timerx8::timer1SetPrescaler"></a>
174 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga6">timer1SetPrescaler</a> (u08 prescale)</td></tr>
175  
176 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set timer1 prescaler <br></td></tr>
177 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7" doxytag="timerx8::timer1GetPrescaler"></a>
178 u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga7">timer1GetPrescaler</a> (void)</td></tr>
179  
180 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get timer0 prescaler <br></td></tr>
181 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga8" doxytag="timerx8::timerAttach"></a>
182 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga8">timerAttach</a> (u08 interruptNum, void(*userFunc)(void))</td></tr>
183  
184 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a user function to a timer interrupt. <br></td></tr>
185 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga9" doxytag="timerx8::timerDetach"></a>
186 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga9">timerDetach</a> (u08 interruptNum)</td></tr>
187  
188 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detach a user function from a timer interrupt. <br></td></tr>
189 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga10">timerPause</a> (unsigned short pause_ms)</td></tr>
190  
191 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga11" doxytag="timerx8::timer0ClearOverflowCount"></a>
192 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga11">timer0ClearOverflowCount</a> (void)</td></tr>
193  
194 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear timer0's overflow counter. <br></td></tr>
195 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga12" doxytag="timerx8::timer0GetOverflowCount"></a>
196 long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timerx8.html#ga12">timer0GetOverflowCount</a> (void)</td></tr>
197  
198 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">read timer0's overflow counter <br></td></tr>
199 </table>
200 <hr><h2>Function Documentation</h2>
201 <a class="anchor" name="ga10" doxytag="timerx8.h::timerPause"></a><p>
202 <table class="mdTable" cellpadding="2" cellspacing="0">
203 <tr>
204 <td class="mdRow">
205 <table cellpadding="0" cellspacing="0" border="0">
206 <tr>
207 <td class="md" nowrap valign="top">void timerPause </td>
208 <td class="md" valign="top">(&nbsp;</td>
209 <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
210 <td class="mdname1" valign="top" nowrap> <em>pause_ms</em> </td>
211 <td class="md" valign="top">&nbsp;)&nbsp;</td>
212 <td class="md" nowrap></td>
213 </tr>
214 </table>
215 </td>
216 </tr>
217 </table>
218 <table cellspacing="5" cellpadding="0" border="0">
219 <tr>
220 <td>
221 &nbsp;
222 </td>
223 <td>
224  
225 <p>
226 A timer-based delay/pause function <dl compact><dt><b>Parameters:</b></dt><dd>
227 <table border="0" cellspacing="2" cellpadding="0">
228 <tr><td valign="top"></td><td valign="top"><em>pause_ms</em>&nbsp;</td><td>Number of integer milliseconds to wait. </td></tr>
229 </table>
230 </dl>
231  
232 <p>
233 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>
234 </tr>
235 </table>
236 <hr size="1"><address style="align: right;"><small>Generated on Sun Oct 29 03:41:09 2006 for Procyon AVRlib by&nbsp;
237 <a href="http://www.doxygen.org/index.html">
238 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
239 </body>
240 </html>
{BLAME END}
{FOOTER START}

Powered by WebSVN v2.8.3