Code That Repeats
Sometimes we need to be able to program our Propeller to repeat certain operations. This is useful for simple things, such as blinking a light, and more complex tasks, such as robotic sensor navigation.
Blocks of repeating code are called loops. The C while loop can be set up to repeat a code block while some condition is true. A while loop can also be set up to repeat endlessly, but there is a trick for escaping endless loops as well. Let’s try all of these.
- Click the Open Project button.
- If you aren’t already there, navigate to …\SimpleIDE\Learn\Examples\C Intro\Basics.
- Open Repeat While.side.
- Set the power switch to position 1 if it isn’t already (if applicable for your board).
- Click the Run with Terminal and verify that the program just keeps on counting (up to 100).
/*
  Repeat While.c
 
  Keep displaying n = n + 5 every fifth of a second while n < 100.
*/
#include "simpletools.h"                      // Include simpletools
int main()                                    // main function
{
  int n = 0;                                  // Declare n, initialize to zero
  while(n < 100)                              // Repeat while n less than 100
  {
    print("n = %d\n", n);                     // Display name & value of n
    n = n + 5;                                // Add 5 to n each time through
    pause(200);                               // 0.2 s between repetitions
  }
  print("All done!");                         // Display all done
}
How it Works
Inside main, a variable n is declared and initialized to zero. Then, while (n < 100) starts a loop that will keep repeating the code block below it as long as (n < 100) is true.
Each time through the loop, n = n +5 increases the value of n and then a print displays the new value in the SimpleIDE terminal.
Eventually, n = 100 so (n < 100) is no longer true. At that point, the code execution skips to the first instruction below the while loop’s code block. In this case, it’s print(“All done!”);.
Did You Know?
Keep in mind that conditions like a < b and n < 100 evaluate to 1 if they are true or 0 if they are false. Like if statements, while statements execute their code block when the condition is 1, or really any value other than zero.
Try This – Endless Loop
Think about the Did You Know section for a minute. Can you guess how to make a while loop repeat forever? If you change while(n < 100) to while(1), you’ll have an endless loop.
- Click the Save Project As button and save your project as Repeat Endless.side.
- Change while(n < 100) to while(1).
- Run the modified program and verify that it just keeps going, and going, and going…
Your Turn – Break Out of an Endless Loop
Even an endless loop doesn’t have to be endless thanks to the C language’s break keyword.
- Add if(n == 50) break; inside the while loop’s code block.
- Test and verify that the that the program breaks out of the loop when n reaches 50.

What do you think would happen if you move the break statement to just underneath n = n + 5 inside the while loop’s code block? Try it!
