<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.robolabor.ee/homelab/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://www.robolabor.ee/homelab/feed.php">
        <title>Robotic &amp; Microcontroller Educational Knowledgepage - Network of Excellence en:multiasm:piot</title>
        <description></description>
        <link>https://www.robolabor.ee/homelab/</link>
        <image rdf:resource="https://www.robolabor.ee/homelab/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-04-17T14:29:14+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_1?rev=1748671409&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_2?rev=1772379695&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_3?rev=1772379829&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_4?rev=1772379998&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_5?rev=1775042470&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_6?rev=1772387742&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_7?rev=1772387857&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_8?rev=1768819578&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_9?rev=1772147638&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_10?rev=1748674433&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_11?rev=1748674563&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_12?rev=1772151258&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.robolabor.ee/homelab/lib/tpl/arctic/images/favicon.ico">
        <title>Robotic & Microcontroller Educational Knowledgepage - Network of Excellence</title>
        <link>https://www.robolabor.ee/homelab/</link>
        <url>https://www.robolabor.ee/homelab/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_1?rev=1748671409&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-31T09:03:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Evolution of the Hardware</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_1?rev=1748671409&amp;do=diff</link>
        <description>Evolution of the Hardware

The development of computer hardware is crucial for technology, particularly in the context of the Internet of Things (IoT) and embedded systems. The beginnings date back to the 1940s when the first electronic computers, such as ENIAC, were created.</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_2?rev=1772379695&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-01T17:41:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Specific Elements of AVR Architecture</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_2?rev=1772379695&amp;do=diff</link>
        <description>Specific Elements of AVR Architecture

AVR is an extension of the idea presented in Vegard Wollan and Alf-Egil Bogen&#039;s thesis. Together with Gaute Myklebust, they patented the architecture, and in 1996, Atmel Norway was established as the AVR microcontroller design centre. In 2016, Microchip acquired Atmel.</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_3?rev=1772379829&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-01T17:43:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Registers</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_3?rev=1772379829&amp;do=diff</link>
        <description>Registers

Registers are a key element of AVR microcontrollers. There are various types of registers, including general-purpose, special-purpose, and status registers. General-purpose registers are used to store temporary data. Special registers control microcontroller functions, such as timers or ADC. Status registers store information about the processor state, such as carry or zero flags. Each register has a specific function and is accessible through particular assembler instructions. Regist…</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_4?rev=1772379998&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-01T17:46:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Data Types and Encoding</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_4?rev=1772379998&amp;do=diff</link>
        <description>Data Types and Encoding

In assembler, various data types, such as bytes, words, and double words, are used. Bytes are the smallest data unit and have 8 bits. Words have 16 bits, and double words have 32 bits. Data types are used to store integers, floating-point numbers, and characters. Data encoding involves representing information in binary form. Data can be encoded in binary, decimal, or hexadecimal format. Character encoding is done using standards such as</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_5?rev=1775042470&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-01T14:21:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Addressing Modes</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_5?rev=1775042470&amp;do=diff</link>
        <description>Addressing Modes

Addressing modes define how the processor accesses data and the target address of a jump. There are more than a dozen different addressing modes, such as: Direct Addressing, Indirect Addressing, Indirect with Displacement, Immediate Addressing, Register Addressing, Relative Addressing, Indirect I/O Addressing, and others. In this section, we first present the data addressing and later addressing used in flow control instructions.</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_6?rev=1772387742&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-01T19:55:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instruction Encoding</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_6?rev=1772387742&amp;do=diff</link>
        <description>Instruction Encoding

Assembler instructions have a specific format that defines the operation and its arguments. The instruction format can vary depending on the processor architecture. Instruction encoding involves representing operations in binary form. Instructions can vary in length, from one to several bytes. Encoding instructions is crucial for the processor&#039;s efficient execution of a program.</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_7?rev=1772387857&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-01T19:57:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instruction Set</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_7?rev=1772387857&amp;do=diff</link>
        <description>Instruction Set

The assembler instruction set includes arithmetic, logical, control, and input/output operations. Arithmetic instructions include addition, subtraction, multiplication, and division. Logical instructions include operations such as AND, OR, XOR, and NOT. Control instructions include jumps, loops, and conditions. Input/output instructions include operations on ports and registers. Understanding the instruction set is crucial for effective programming in assembler. This course will…</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_8?rev=1768819578&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-19T12:46:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Best Practices on Structural Programming</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_8?rev=1768819578&amp;do=diff</link>
        <description>Best Practices on Structural Programming

Modular Programming: Modular programming involves dividing code into smaller, independent modules. Modules can be reused multiple times and are easy to test. Modular programming increases the readability and understandability of the code. Each module should have a clearly defined function and interface. Modules should be independent of each other, which facilitates their modification and development.</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_9?rev=1772147638&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-27T01:13:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3 Levels of Programming: C++, Libraries, Assembler</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_9?rev=1772147638&amp;do=diff</link>
        <description>3 Levels of Programming: C++, Libraries, Assembler

Programming AVR microcontrollers can be divided into three levels: C++, libraries, and assembler. Each of these levels offers distinct benefits and is utilised according to the project&#039;s specific requirements.</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_10?rev=1748674433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-31T09:53:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Software Tools for AVR</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_10?rev=1748674433&amp;do=diff</link>
        <description>Software Tools for AVR

Programming in assembler for AVR microcontrollers requires appropriate tools that facilitate code creation, debugging, and optimization. Here are some popular software tools for AVR:

	*  Microchip Studio (formerly Atmel Studio) is an integrated development environment (IDE) for AVR and SAM microcontrollers. It allows writing, compiling, and debugging code in assembler and C/C++. Microchip Studio offers support for a wide range of AVR devices and integration with programm…</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_11?rev=1748674563&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-31T09:56:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Hardware Debugging</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_11?rev=1748674563&amp;do=diff</link>
        <description>Hardware Debugging

Hardware debugging of AVR microcontrollers is a crucial element of the programming process, enabling precise testing and diagnosis of code issues. Here are some popular methods and tools for hardware debugging for AVR:

	*  debugWIRE is a debugging interface developed by Atmel (now Microchip Technology) for AVR microcontrollers. It enables debugging using a single pin (RESET) and is particularly useful in small microcontrollers that lack many pins. debugWIRE allows setting br…</description>
    </item>
    <item rdf:about="https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_12?rev=1772151258&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-27T02:14:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Energy Efficiency</title>
        <link>https://www.robolabor.ee/homelab/en/multiasm/piot/chapter_4_12?rev=1772151258&amp;do=diff</link>
        <description>Energy Efficiency

There are five sleep modes to select from:

	*  Idle Mode
	*  Power Down
	*  Power Save
	*  Standby
	*  Extended Standby

To enter any of the sleep modes, the Sleep Enable bit in the Sleep Mode Control Register (SMCR.SE) must be written to &#039;1&#039; and a SLEEP instruction must be executed. Sleep Mode Select bits (SMCR.SM[2:0]) select which sleep mode (Idle, Power-down, Power-save, Standby, or Extended Standby) will be activated by the SLEEP instruction. The sleep modes shown in Fig…</description>
    </item>
</rdf:RDF>
