<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.ocrobot.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.ocrobot.com/feed.php">
        <title> en:reference:language</title>
        <description></description>
        <link>https://wiki.ocrobot.com/</link>
        <image rdf:resource="https://wiki.ocrobot.com/lib/tpl/20cones/images/favicon.ico" />
       <dc:date>2026-07-19T03:12:39+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:analogreadresolution&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:analogwriteresolution&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:arithmetic&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:assignment_operator&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitshift&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitwiseand&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitwisexornot&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:boolean&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:braces&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:break&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:comments&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:continue&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:define&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:dowhile&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:else&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:for&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:goto&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:if&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:include&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:loop&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:main&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:modulo&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:pointer&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:return&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:semicolon&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:setup&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:switchcase&amp;rev=1760151335&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ocrobot.com/doku.php?id=en:reference:language:while&amp;rev=1760151335&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.ocrobot.com/lib/tpl/20cones/images/favicon.ico">
        <title></title>
        <link>https://wiki.ocrobot.com/</link>
        <url>https://wiki.ocrobot.com/lib/tpl/20cones/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:analogreadresolution&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:analogreadresolution</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:analogreadresolution&amp;rev=1760151335&amp;do=diff</link>
        <description>analogReadResolution()

Description

analogReadResolution() is an extension of the Analog API for the Arduino Due and Zero.

Sets the size (in bits) of the value returned by analogRead(). It defaults to 10 bits (returns values between 0-1023) for backward compatibility with AVR based boards.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:analogwriteresolution&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:analogwriteresolution</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:analogwriteresolution&amp;rev=1760151335&amp;do=diff</link>
        <description>Description

analogWriteResolution() is an extension of the Analog API for the Arduino Due and Zero.

analogWriteResolution() sets the resolution of the analogWrite() function. It defaults to 8 bits (values between 0-255) for backward compatibility with AVR based boards.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:arithmetic&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:arithmetic</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:arithmetic&amp;rev=1760151335&amp;do=diff</link>
        <description>Addition, Subtraction, Multiplication, &amp; Division

Description

These operators return the sum, difference, product, or quotient (respectively) of the two operands. The operation is conducted using the data type of the operands, so, for example, 9 / 4 gives 2 since 9 and 4 are ints. This also means that the operation can overflow if the result is larger than that which can be stored in the data type (e.g. adding 1 to an int with the value 32,767 gives -32,768). If the operands are of different t…</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:assignment_operator&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:assignment_operator</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:assignment_operator&amp;rev=1760151335&amp;do=diff</link>
        <description>= assignment operator (single equal sign)

Stores the value to the right of the equal sign in the variable to the left of the equal sign.

The single equal sign in the C programming language is called the assignment operator. It has a different meaning than in algebra class where it indicated an equation or equality. The assignment operator tells the microcontroller to evaluate whatever value or expression is on the right side of the equal sign, and store it in the variable to the left of the eq…</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitshift&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:bitshift</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitshift&amp;rev=1760151335&amp;do=diff</link>
        <description>bitshift left (&lt;&lt;), bitshift right (&gt;&gt;)

Description

From The Bitmath Tutorial in The Playground

There are two bit shift operators in C++: the left shift operator &lt;&lt; and the right shift operator &gt;&gt;. These operators cause the bits in the left operand to be shifted left or right by the number of positions specified by the right operand.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitwiseand&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:bitwiseand</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitwiseand&amp;rev=1760151335&amp;do=diff</link>
        <description>Bitwise AND (&amp;), Bitwise OR (|), Bitwise XOR (^)

Bitwise AND (&amp;)

The bitwise operators perform their calculations at the bit level of variables. They help solve a wide range of common programming problems. Much of the material below is from an excellent tutorial on bitwise math wihch may be found here.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitwisexornot&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:bitwisexornot</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:bitwisexornot&amp;rev=1760151335&amp;do=diff</link>
        <description>Bitwise NOT (~)

The bitwise NOT operator in C++ is the tilde character ~. Unlike &amp; and |, the bitwise NOT operator is applied to a single operand to its right. Bitwise NOT changes each bit to its opposite: 0 becomes 1, and 1 becomes 0. For example:</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:boolean&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:boolean</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:boolean&amp;rev=1760151335&amp;do=diff</link>
        <description>Boolean Operators

These can be used inside the condition of an if statement.

&amp;&amp; (logical and)

True only if both operands are true, e.g.


if (digitalRead(2) == HIGH  &amp;&amp; digitalRead(3) == HIGH) { // read two switches 
  // ...
} 


is true only if both inputs are high.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:braces&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:braces</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:braces&amp;rev=1760151335&amp;do=diff</link>
        <description>{} Curly Braces

Curly braces (also referred to as just “braces” or as “curly brackets”) are a major part of the C programming language. They are used in several different constructs, outlined below, and this can sometimes be confusing for beginners.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:break&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:break</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:break&amp;rev=1760151335&amp;do=diff</link>
        <description>break

break is used to exit from a do, for, or while loop, bypassing the normal loop condition. It is also used to exit from a switch statement.

Example


for (x = 0; x &lt; 255; x ++)
{
    digitalWrite(PWMpin, x);
    sens = analogRead(sensorPin);  
    if (sens &gt; threshold){      // bail out on sensor detect
       x = 0;
       break;
    }  
    delay(50);
}</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:comments&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:comments</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:comments&amp;rev=1760151335&amp;do=diff</link>
        <description>Comments

Comments are lines in the program that are used to inform yourself or others about the way the program works. They are ignored by the compiler, and not exported to the processor, so they don't take up any space on the Atmega chip.
Comments only purpose are to help you understand (or remember) how your program works or to inform others how your program works. There are two different ways of marking a line as a comment:</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:continue&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:continue</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:continue&amp;rev=1760151335&amp;do=diff</link>
        <description>continue

The continue statement skips the rest of the current iteration of a loop (do, for, or while). It continues by checking the conditional expression of the loop, and proceeding with any subsequent iterations.

Example


for (x = 0; x &lt; 255; x ++)
{
    if (x &gt; 40 &amp;&amp; x &lt; 120){      // create jump in values
        continue;
    }

    digitalWrite(PWMpin, x);
    delay(50);
}</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:define&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:define</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:define&amp;rev=1760151335&amp;do=diff</link>
        <description>Define

#define is a useful C component that allows the programmer to give a name to a constant value before the program is compiled. Defined constants in ocrobot don't take up any program memory space on the chip. The compiler will replace references to these constants with the defined value at compile time.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:dowhile&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:dowhile</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:dowhile&amp;rev=1760151335&amp;do=diff</link>
        <description>do - while

The do loop works in the same manner as the while loop, with the exception that the condition is tested at the end of the loop, so the do loop will always run at least once.


do
{
    // statement block
} while (test condition);


Example</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:else&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:else</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:else&amp;rev=1760151335&amp;do=diff</link>
        <description>if / else

if/else allows greater control over the flow of code than the basic if statement, by allowing multiple tests to be grouped together. For example, an analog input could be tested and one action taken if the input was less than 500, and another action taken if the input was 500 or greater. The code would look like this:</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:for&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:for</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:for&amp;rev=1760151335&amp;do=diff</link>
        <description>for statements

Description

The for statement is used to repeat a block of statements enclosed in curly braces. An increment counter is usually used to increment and terminate the loop. The for statement is useful for any repetitive operation, and is often used in combination with arrays to operate on collections of data/pins.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:goto&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:goto</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:goto&amp;rev=1760151335&amp;do=diff</link>
        <description>goto

Transfers program flow to a labeled point in the program

Syntax

label:
goto label; // sends program flow to the label

Tip

The use of goto is discouraged in C programming, and some authors of C programming books claim that the goto statement is never necessary, but used judiciously, it can simplify certain programs. The reason that many programmers frown upon the use of goto is that with the unrestrained use of goto statements, it is easy to create a program with undefined program flow,…</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:if&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:if</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:if&amp;rev=1760151335&amp;do=diff</link>
        <description>if (conditional) and ==, !=, &lt;, &gt; (comparison operators)

if, which is used in conjunction with a comparison operator, tests whether a certain condition has been reached, such as an input being above a certain number. The format for an if test is:


if (someVariable &gt; 50)
{
  // do something here
}</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:include&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:include</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:include&amp;rev=1760151335&amp;do=diff</link>
        <description>#include

#include is used to include outside libraries in your sketch. This gives the programmer access to a large group of standard C libraries (groups of pre-made functions), and also libraries written especially for Ocrobot.

The main reference page for AVR C libraries (AVR is a reference to the Atmel chips on which the Ocrobot is based) is here.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:loop&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:loop</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:loop&amp;rev=1760151335&amp;do=diff</link>
        <description>loop()

After creating a setup() function, which initializes and sets the initial values, the loop() function does precisely what its name suggests, and loops consecutively, allowing your program to change and respond. Use it to actively control the ocrobot platforms.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:main&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:main</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:main&amp;rev=1760151335&amp;do=diff</link>
        <description>Language Reference

Ocrobot programs can be divided in three main parts: structure, values (variables and constants), and functions.

Structure

	* setup()
	* loop()

Control Structures

	* if
	* if...else
	* for
	* switch case
	* while
	* do... while
	* break
	* continue
	* return
	* goto

Further Syntax

	* ; (semicolon)
	* {} (curly braces)
	* // (single line comment)
	* /* */ (multi-line comment)
	*</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:modulo&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:modulo</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:modulo&amp;rev=1760151335&amp;do=diff</link>
        <description>% (modulo)

Description

Calculates the remainder when one integer is divided by another. It is useful for keeping a variable within a particular range (e.g. the size of an array).

Syntax

result = dividend % divisor

Parameters

dividend: the number to be divided
divisor: the number to divide by</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:pointer&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:pointer</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:pointer&amp;rev=1760151335&amp;do=diff</link>
        <description>The pointer operators

&amp; (reference) and * (dereference)

Pointers are one of the more complicated subjects for beginners in learning C, and it is possible to write the vast majority of Ocrobot sketches without ever encountering pointers. However for manipulating certain data structures, the use of pointers can simplify the code, and and knowledge of manipulating pointers is handy to have in one's toolkit.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:return&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:return</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:return&amp;rev=1760151335&amp;do=diff</link>
        <description>return

Terminate a function and return a value from a function to the calling function, if desired.

Syntax:

return;
return value; // both forms are valid

Parameters

value: any variable or constant type

Examples:

A function to compare a sensor input to a threshold</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:semicolon&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:semicolon</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:semicolon&amp;rev=1760151335&amp;do=diff</link>
        <description>; semicolon

Used to end a statement.

Example

int a = 13;

Tip

Forgetting to end a line in a semicolon will result in a compiler error. The error text may be obvious, and refer to a missing semicolon, or it may not. If an impenetrable or seemingly illogical compiler error comes up, one of the first things to check is a missing semicolon, in the immediate vicinity, preceding the line at which the compiler complained.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:setup&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:setup</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:setup&amp;rev=1760151335&amp;do=diff</link>
        <description>setup()

The setup() function is called when program starts. Use it to initialize variables, pin modes, start using libraries, etc. The setup function will only run once, after each powerup or reset of the ocrobot board.

Example

 
int buttonPin = 3;

void setup()
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}

void loop()
{
  // ...
}</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:switchcase&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:switchcase</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:switchcase&amp;rev=1760151335&amp;do=diff</link>
        <description>switch / case statements

Like if statements, switch...case controls the flow of programs by allowing programmers to specify different code that should be executed in various conditions. In particular, a switch statement compares the value of a variable to the values specified in case statements. When a case statement is found whose value matches that of the variable, the code in that case statement is run.</description>
    </item>
    <item rdf:about="https://wiki.ocrobot.com/doku.php?id=en:reference:language:while&amp;rev=1760151335&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-11T02:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>en:reference:language:while</title>
        <link>https://wiki.ocrobot.com/doku.php?id=en:reference:language:while&amp;rev=1760151335&amp;do=diff</link>
        <description>while loops

Description

while loops will loop continuously, and infinitely, until the expression inside the parenthesis, () becomes false. Something must change the tested variable, or the while loop will never exit. This could be in your code, such as an incremented variable, or an external condition, such as testing a sensor.</description>
    </item>
</rdf:RDF>
