<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Spontanious RAM problems</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>I don't have an answer to your question, but I
thought I'd show you my way of doing timers. It's based on only having one value
that is actually being incremented, and the "timer" variables just keep track on
where they were reset. (this code is not protected for interrupted 16 bit
access, but that should be easy to add if needed)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>-------------- timer.h -------------- </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2><FONT size=2><B>typedef</B> <B>struct</B>
TimerT<BR>{<BR><B>int</B> startTime;<BR>} Timer;<BR><BR><B>void</B>
Delay(<B>int</B> time);<BR><B>char</B> CheckTimer(Timer *timer, <B>int</B>
time)M<BR><B>void</B> ResetTimer(Timer *timer);<BR><B>long</B> GetTimer(Timer
*timer);<BR><B>void</B> DecreaseTimer(Timer *timer, <B>int</B>
value);<BR><STRONG>extern int</STRONG> msecTimer;<BR></FONT></FONT></DIV><FONT
face=Arial size=2><FONT size=2>
<DIV><FONT face=Arial size=2>-------------- timer.c -------------- </FONT></DIV>
<DIV><BR><B>int</B> msecTimer;<BR><BR><B>void</B> ResetTimer(Timer
*timer)<BR>{<BR>timer->startTime = msecTimer;<BR>}<BR><BR><B>long</B>
GetTimer(Timer *timer)<BR>{<BR><B>return</B> msecTimer -
timer->startTime;<BR>}<BR><BR><B>void</B> DecreaseTimer(Timer *timer,
<B>int</B> value)<BR>{<BR>timer->startTime += value;<BR>}<BR><BR><B>char</B>
CheckTimer(Timer *timer, <B>int</B> time)<BR>{<BR><B>if</B>(GetTimer(timer) >
time)<BR>{<BR>ResetTimer(timer); <BR><B>return</B> true;<BR>}<BR><B>return</B>
false; <BR>}<BR><BR><B>char</B> CheckTimerOverflow(Timer
*timer)<BR>{<BR><B>if</B>(msecTimer - timer->startTime >
61000)<BR>{<BR>timer->startTime = msecTimer - 61000; <BR><B>return</B>
true;<BR>}<BR><B>return</B> false; <BR>}<BR><BR><B>void</B> Delay(<B>int</B>
time)<BR>{<BR>Timer
timeout;<BR>ResetTimer(&timeout);<BR><B>while</B>(GetTimer(&timeout)<time);<BR>}</DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>-------------- interrupts.c --------------
</FONT></DIV>
<DIV> </DIV>
<DIV>// in a timer interrupt, msecTimer should be incremented every
millisecond<BR><FONT size=2><FONT size=2><STRONG>#pragma interrupt_handler
MsecTimerOverFlow:24<BR>void</STRONG>
MsecTimerOverFlow(<STRONG>void</STRONG>)<BR>{<BR>
msecTimer++;</FONT></FONT></DIV>
<DIV><FONT size=2>}</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>-------------- some use of these routines
might look like this -------------- </FONT></DIV>
<DIV><BR>Timer timer1;</DIV>
<DIV>Timer timer2;</DIV>
<DIV>
<DIV>Timer timer3;
<DIV>Timer timer4;</DIV>
<DIV> </DIV></DIV></DIV>
<DIV>void main()</DIV>
<DIV>{</DIV>
<DIV> int temp;</DIV>
<DIV> </DIV>
<DIV> while(1)</DIV>
<DIV> {</DIV>
<DIV> // call foo1 every
second</DIV>
<DIV>
<DIV> if(GetTimer(&timer1) >
1000)</DIV>
<DIV> {</DIV>
<DIV>
ResetTimer(&timer1);</DIV>
<DIV> foo1();</DIV>
<DIV> }</DIV>
<DIV>
<DIV> </DIV>
<DIV>
<DIV> // call foo2 every
second</DIV>
if(CheckTimer(&timer2, 1000))</DIV>
<DIV> {</DIV>
<DIV> foo2();</DIV>
<DIV> }</DIV>
<DIV> </DIV>
<DIV>
<DIV>
<DIV> // call foo3 on every
program run during one second after an event</DIV>
<DIV> if(someCondition)</DIV>
<DIV>
ResetTimer(&timer3);</DIV>
<DIV> </DIV>
<DIV> CheckTimerOverflow(&timer3);</DIV>
if(GetTimer(&timer3) < 1000)</DIV>
<DIV> {</DIV>
<DIV> foo3();</DIV>
<DIV> }</DIV>
<DIV> </DIV>
<DIV>
<DIV> // sometimes you'll need to know
how much time actually passed</DIV>
<DIV><FONT size=2> temp =
GetTimer(&timer4);<BR><B> if</B>(temp
> 1000)<BR>
{<BR>
DecreaseTimer(&timer4, temp);</FONT></DIV>
<DIV><FONT
size=2> derivative
= (inputSingal - lastInputSignal)
/ temp;<BR></FONT> }</DIV>
<DIV> }</DIV></DIV></DIV></DIV></DIV>
<DIV>}</DIV>
<DIV></FONT></FONT><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=jgeiger@intuitivecontrols.com
href="mailto:jgeiger@intuitivecontrols.com">Jason Geiger</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=icc-avr@imagecraft.com
href="mailto:icc-avr@imagecraft.com">Discussion list for ICCAVR and ICCtiny
Users. You do NOT needtosubscribeto icc-announce if you are a member of
this.</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, April 16, 2007 6:58
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [Icc-avr] Spontanious RAM
problems</DIV>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT><BR></DIV><!-- Converted from text/rtf format -->
<P align=left><SPAN lang=en-us><FONT face=Arial
size=2>Greetings</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2>,</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>I am having a
problem</FONT><FONT face=Arial size=2> with an ATMEGA128 which I am a</FONT>
<FONT face=Arial size=2>little unsure</FONT> <FONT face=Arial size=2>how to
debug</FONT><FONT face=Arial size=2> and I was hoping to get some basic ideas
as to where to start</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2>.</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2></FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial size=2>Any and all
suggestions</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>are</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>welcome</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2> and appreciated!</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>I have a few</FONT>
<FONT face=Arial size=2>timing/</FONT><FONT face=Arial size=2>counting
variables</FONT><FONT face=Arial size=2> that</FONT> <FONT face=Arial
size=2>a</FONT><FONT face=Arial size=2>re</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>spontaneously</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>changing from their value
of</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>0</FONT><FONT face=Arial size=2></FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial size=2>to
something</FONT><FONT face=Arial size=2> that is non-zero.</FONT> <FONT
face=Arial size=2> I</FONT><FONT face=Arial size=2> have a</FONT> <FONT
face=Arial size=2>TimeKeeper</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2> (</FONT><FONT face=Arial
size=2>I</FONT><FONT face=Arial size=2>SR</FONT><FONT face=Arial
size=2>)</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2></FONT> <FONT face=Arial size=2>routine counting those
variables</FONT> <FONT face=Arial size=2>back down to</FONT> <FONT face=Arial
size=2>z</FONT><FONT face=Arial size=2>ero</FONT><FONT face=Arial
size=2>.</FONT> <FONT face=Arial size=2> I</FONT><FONT face=Arial
size=2>n Main()</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>I</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>act on them, usually when their value is
equal to 1</FONT> <FONT face=Arial size=2>-</FONT><FONT face=Arial
size=2></FONT> <FONT face=Arial size=2>then I</FONT> <FONT face=Arial
size=2>s</FONT><FONT face=Arial size=2>et them to zero until I need to</FONT>
<FONT face=Arial size=2>g</FONT><FONT face=Arial size=2>et to them</FONT><FONT
face=Arial size=2>.</FONT> <FONT face=Arial size=2> I</FONT><FONT
face=Arial size=2> believe this is pretty standard fare</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2> for keeping track
of tim</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2>ing.</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>W</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2>hat could be
causing these variables to</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>spontaneously</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2></FONT> <FONT
face=Arial size=2>change from zero?</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2> </FONT> <FONT face=Arial
size=2>Perhaps I am abusing ICC somehow. </FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> </SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>S</FONT><FONT
face=Arial size=2>ome notes</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2> and considerations.</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2></FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>-</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>I do boundary checking with any</FONT> <FONT
face=Arial size=2>arra</FONT><FONT face=Arial size=2>ys</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>–</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2> especially</FONT> <FONT face=Arial size=2>noting that some
of these are</FONT> <FONT face=Arial size=2>RX and TX</FONT> <FONT face=Arial
size=2>data packets</FONT><FONT face=Arial size=2>.</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2></FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>-</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>I use a</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>L</FONT><FONT face=Arial
size=2>OT</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>of structures.</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2> S</FONT><FONT face=Arial size=2>ome
people seem to think this is great for organization.</FONT> <FONT face=Arial
size=2>Others argue that it</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2>’</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2>s aw</FONT><FONT
face=Arial size=2>f</FONT><FONT face=Arial size=2>ul for</FONT><FONT
face=Arial size=2> code</FONT> <FONT face=Arial size=2>efficiency</FONT><FONT
face=Arial size=2>.</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>-</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial size=2>My Software and
Hardware stack seem to be much bigger than I need, based on some quick
calculations</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2> and verified by that handy stack checker
that</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2></FONT> <FONT face=Arial size=2>I</FONT><FONT face=Arial size=2> got
from one of you on here.</FONT> <FONT face=Arial
size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>(</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2>Sylvain</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2>?)</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2></FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>-</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>Related;</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>I</FONT><FONT face=Arial size=2> do not
have nested interrupts</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2>.</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>-</FONT> <FONT
face=Arial size=2>5</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2> volt</FONT><FONT face=Arial
size=2></FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>circuit</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>–</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2></FONT> <FONT
face=Arial size=2>Brown</FONT><FONT face=Arial size=2></FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>o</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2>ut</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>fuse is</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>enabled</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial size=2>and
set</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>at</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2></FONT> <FONT face=Arial size=2>4</FONT><FONT face=Arial
size=2> volts</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2>.</FONT> <FONT face=Arial size=2> C</FONT><FONT
face=Arial size=2>ould this be hardware?</FONT><FONT face=Arial size=2> Power
supply issues?</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>How</FONT><FONT
face=Arial size=2> do I know</FONT><FONT face=Arial size=2> these are
happening</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>spontaneously</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2>?</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2> </FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>Most of the</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>timer variables</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial size=2>that I am
noticing</FONT> <FONT face=Arial size=2>t</FONT><FONT face=Arial size=2>his
problem</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>are</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>s</FONT><FONT face=Arial size=2>et
exclusively</FONT><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2>by</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>from</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>incoming</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2></FONT> <FONT face=Arial size=2>data
packets</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2> and they are being set</FONT><FONT face=Arial size=2></FONT> <FONT
face=Arial size=2>when I have the circuit detached from anything
else.</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2> </FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT
face=Arial size=2>They are also</FONT><FONT face=Arial size=2> variables that
are more recently. I could be happening to others, but I have not
noticed that yet.</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>V</FONT><FONT
face=Arial size=2>oid</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>M</FONT><FONT face=Arial size=2>ain(</FONT><FONT
face=Arial size=2>)</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>{</FONT></SPAN></P>
<P align=left><SPAN lang=en-us>
<FONT face=Arial size=2>I</FONT><FONT face=Arial size=2>f</FONT><FONT
face=Arial size=2></FONT> <FONT face=Arial size=2>(</FONT><FONT face=Arial
size=2>T</FONT><FONT face=Arial size=2>ime2</FONT><FONT face=Arial
size=2>.</FONT><FONT face=Arial size=2>DoSomething</FONT><FONT face=Arial
size=2> ==</FONT> <FONT face=Arial size=2>1</FONT><FONT face=Arial
size=2>)</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>{</FONT></SPAN></P>
<P align=left><SPAN lang=en-us>
<FONT face=Arial size=2>Do</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2>S</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial
size=2>omething</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us><FONT
face=Arial size=2>(); //</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2>l</FONT><FONT face=Arial size=2>i</FONT><FONT face=Arial
size=2>k</FONT><FONT face=Arial size=2>e</FONT><FONT face=Arial size=2></FONT>
<FONT face=Arial size=2>s</FONT><FONT face=Arial size=2>e</FONT><FONT
face=Arial size=2>t</FONT><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2>a</FONT><FONT face=Arial size=2>n</FONT><FONT face=Arial
size=2>d</FONT><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2>L</FONT><FONT face=Arial size=2>E</FONT><FONT face=Arial
size=2>D</FONT><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2>p</FONT><FONT face=Arial size=2>i</FONT><FONT face=Arial
size=2>n</FONT><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2>h</FONT><FONT face=Arial size=2>i</FONT><FONT face=Arial
size=2>g</FONT><FONT face=Arial size=2>h</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN
lang=en-us><BR>
</SPAN><SPAN lang=en-us></SPAN><SPAN
lang=en-us> <FONT face=Arial size=2>P</FONT><FONT face=Arial size=2>ORTB
=</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us> <FONT face=Arial
size=2>0x</FONT><FONT face=Arial size=2>0</FONT><FONT face=Arial
size=2>1</FONT><FONT face=Arial size=2>;</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial size=2> //Uh oh, this LED
is on now, nothing else can cause that!</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us>
<FONT face=Arial size=2>Time2.DoSomething = 0;</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>}</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>}</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>V</FONT><FONT
face=Arial size=2>oid</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us>
<FONT face=Arial size=2>TimeKeeperISR()</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>{</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>i</FONT><FONT
face=Arial size=2>f</FONT> <FONT face=Arial size=2>(Time2.DoSomething >
1) </FONT> <FONT face=Arial
size=2>Time2.DoSomething--;</FONT></SPAN></P>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>}</FONT></SPAN><SPAN
lang=en-us></SPAN><SPAN lang=en-us></SPAN></P><BR><BR>
<P align=left><SPAN lang=en-us><FONT face=Arial size=2>Thoughts?
Ideas?</FONT><FONT face=Arial size=2></FONT> <FONT face=Arial
size=2></FONT> <FONT face=Arial size=2>Thank you ahead of
time,</FONT></SPAN><SPAN lang=en-us></SPAN><SPAN lang=en-us></SPAN></P>
<P align=left><B><SPAN lang=en-us></SPAN></B><A name=""><B><SPAN
lang=en-us></SPAN><SPAN lang=en-us><FONT face=Arial color=#000000 size=2>Jason
Geiger</FONT></SPAN></B></A><SPAN lang=en-us><B></B></SPAN><B><SPAN
lang=en-us></SPAN></B></P>
<P align=left><SPAN lang=en-us></SPAN></P>
<P>
<HR>
<P></P>_______________________________________________<BR>Icc-avr mailing
list<BR>Icc-avr@imagecraft.com<BR>http://dragonsgate.net/mailman/listinfo/icc-avr<BR></BLOCKQUOTE></BODY></HTML>