user10504: I seem to remember somewhere somebody making an "Always" loop between Setup() and Loop().
But I can't find any documentation on it. Does such a thing exist, or am I imagining it?

user42: There's nothing officially called an "always" loops as such. However, you can make a loop which goes on forever like this:
while (true)
{
    // this bit repeats forever
}

A while loop checks the condition before every iteration of the main body. If it detects that the condition equals boolean false then it will stop the loop and move on to the next bit of code.
Normally, the condition would be some kind of expression, like (x < 10). However, in the example above, the condition is hard-coded as true, meaning it will never be false so it will never stop.

user4143: You might be thinking of the Serial Event system.
This is a specially defined function which runs whenever loop() finishes if there is anything to read from the serial port.

http://www.arduino.cc/en/Reference/SerialEvent

Basically it is implemented as a function call after loop() in the main() function, which looks like this:
setup();

for (;;) {
    loop();
    if (serialEventRun) serialEventRun();
}

As you can see there is only setup(), loop() and the serial event system.

10504: <p>I seem to remember somewhere somebody making an "Always" loop between Setup() and Loop().</p>

<p>But I can't find any documentation on it. Does such a thing exist, or am I imagining it?</p>
 42: <p>There's nothing officially called an "always" loops as such. However, you can make a loop which goes on forever like this:</p>

<pre><code>while (true)
{
    // this bit repeats forever
}
</code></pre>

<p>A <code>while</code> loop checks the condition before every iteration of the main body. If it detects that the condition equals boolean <code>false</code> then it will stop the loop and move on to the next bit of code.</p>

<p>Normally, the condition would be some kind of expression, like <code>(x &lt; 10)</code>. However, in the example above, the condition is hard-coded as <code>true</code>, meaning it will never be <code>false</code> so it will never stop.</p>
 4143: <p>You <em>might</em> be thinking of the <em>Serial Event</em> system.</p>

<p>This is a specially defined function which runs whenever <code>loop()</code> finishes <em>if there is anything to read from the serial port</em>.</p>

<ul>
<li><a href="http://www.arduino.cc/en/Reference/SerialEvent" rel="nofollow">http://www.arduino.cc/en/Reference/SerialEvent</a></li>
</ul>

<p>Basically it is implemented as a function call after <code>loop()</code> in the <code>main()</code> function, which looks like this:</p>

<pre><code>setup();

for (;;) {
    loop();
    if (serialEventRun) serialEventRun();
}
</code></pre>

<p>As you can see there is only <code>setup()</code>, <code>loop()</code> and the <em>serial event</em> system.</p>
