<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.ethernut.de/nutwiki/index.php?action=history&amp;feed=atom&amp;title=Blinking_LED</id>
		<title>Blinking LED - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.ethernut.de/nutwiki/index.php?action=history&amp;feed=atom&amp;title=Blinking_LED"/>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=Blinking_LED&amp;action=history"/>
		<updated>2026-04-08T15:33:48Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.ethernut.de/nutwiki/index.php?title=Blinking_LED&amp;diff=32&amp;oldid=prev</id>
		<title>Harald: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=Blinking_LED&amp;diff=32&amp;oldid=prev"/>
				<updated>2016-10-27T16:02:52Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:02, 27 October 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='en'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Harald</name></author>	</entry>

	<entry>
		<id>http://www.ethernut.de/nutwiki/index.php?title=Blinking_LED&amp;diff=31&amp;oldid=prev</id>
		<title>Daniel: /* Test Environments */</title>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=Blinking_LED&amp;diff=31&amp;oldid=prev"/>
				<updated>2009-03-10T17:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Test Environments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Test Environments ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;smalldiv&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#F6F9ED&amp;quot; | Hardware Comments&lt;br /&gt;
| style=&amp;quot;background-color:#F6F9ED&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color:#F6F9ED&amp;quot; | '''Nut/OS&amp;lt;br&amp;gt;4.6.3'''&lt;br /&gt;
| style=&amp;quot;background-color:#F6F9ED&amp;quot; | '''Nut/OS&amp;lt;br&amp;gt;4.6.4'''&lt;br /&gt;
| style=&amp;quot;background-color:#F6F9ED&amp;quot; | '''Nut/OS&amp;lt;br&amp;gt;4.7.4'''&lt;br /&gt;
| style=&amp;quot;background-color:#F6F9ED&amp;quot; | '''Nut/OS&amp;lt;br&amp;gt;4.8.0'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Ethernut 1.3 H&amp;lt;/span&amp;gt;&lt;br /&gt;
| Additional LED + Resistor required.&lt;br /&gt;
| OK&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut13H-nutos-4.6.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut13H-nutos-4.7.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut13H-nutos-4.8.0.zip '''Binaries''']&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Ethernut 2.1 B&amp;lt;/span&amp;gt;&lt;br /&gt;
| Additional LED + Resistor required.&lt;br /&gt;
| OK&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut21B-nutos-4.6.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut21B-nutos-4.7.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut21B-nutos-4.8.0.zip '''Binaries''']&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Ethernut 3.0 E&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| OK&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut30E-nutos-4.6.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut30E-nutos-4.7.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-enut30E-nutos-4.8.0.zip '''Binaries''']&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;EIR 1.0&amp;lt;/span&amp;gt;&lt;br /&gt;
| Additional LED + Resistor required.&lt;br /&gt;
| OK&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-EIR1C-nutos-4.6.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-EIR1C-nutos-4.7.4.zip '''Binaries''']&lt;br /&gt;
| OK &amp;lt;br&amp;gt; [http://ethernut.de/arc/WIKI_BINARIES_ZIPPED/blinking-led-EIR1C-nutos-4.8.0.zip '''Binaries''']&lt;br /&gt;
|-&lt;br /&gt;
| id=&amp;quot;compilertd&amp;quot; colspan=&amp;quot;5&amp;quot; |'''Compiler:''' ARM-GCC 4.2.2 ; AVR-GCC 4.3.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Due to technical differences, each board requires a different program to make the LED blink. This document provides individual examples for each of them.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that only Ethernut 3 has an on-board User LED. For the other boards you need an extra LED + series resistor. &amp;lt;br&amp;gt;&lt;br /&gt;
When using a standard LED the resistor may have a value of 200 Ohm to 1 kOhm. Note, that LEDs do have a polarity and typically one of the two leads is longer than the other one. The longer lead is the anode and will be connected to the resistor.&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:ledsch.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ethernut 1.3 / Ethernut 2.1 ==&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
On these boards, we use pin 2 of PORT E which is reffered to as Pin 41 in the hardware manuals as our digital output pin and pin 3 as +5V Power Supply.&amp;lt;br&amp;gt;Connect the resistor to pin 3 and the LEDs cathode to pin 41.&lt;br /&gt;
&lt;br /&gt;
=== Source Code ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/timer.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
sbi(DDRE, 2);&lt;br /&gt;
    for(;;){&lt;br /&gt;
        cbi(PORTE, 2);&lt;br /&gt;
        NutSleep(500);&lt;br /&gt;
        sbi(PORTE, 2);&lt;br /&gt;
        NutSleep(500);&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output ===&lt;br /&gt;
&lt;br /&gt;
 Blinking LED&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/timer.h&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
provides a library, required by &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
sbi(DDRE, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sets bit 2 of the Data direction register E high, which makes the Pin work as an output.&lt;br /&gt;
&lt;br /&gt;
Within the endless loop,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
cbi(PORTE, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
drives bit (pin) 2 of Port E low, which makes the LED lit.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
NutSleep(500);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
After a &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt; (delay) of 500ms, &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
sbi(PORTE, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
drives Pin 2 of Port E high again, swiching the LED off.&amp;lt;br&amp;gt;&lt;br /&gt;
After another &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt; of 500ms the loop continues cycling.&lt;br /&gt;
&lt;br /&gt;
== Ethernut 3 ==&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
Ethernut 3 provides an on-board User LED (green LED integrated in the reset button.)&lt;br /&gt;
&lt;br /&gt;
=== Source Code ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;dev/npl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;dev/npluled.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/timer.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    for(;;){&lt;br /&gt;
        NplUledCntl(ULED_ON);&lt;br /&gt;
        NutSleep(500);&lt;br /&gt;
        NplUledCntl(ULED_OFF);&lt;br /&gt;
        NutSleep(500);&lt;br /&gt;
    }&lt;br /&gt;
	    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output ===&lt;br /&gt;
&lt;br /&gt;
 Blinking LED&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;dev/npl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;dev/npluled.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/timer.h&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
provide prototypes, of functions used later.&lt;br /&gt;
&lt;br /&gt;
Within the endless loop,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
NplUledCntl(ULED_ON);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
switches the LED ON.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
NutSleep(500);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt; (delay) of 500ms,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
NplUledCntl(ULED_OFF);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
switches the LED OFF again.&amp;lt;br&amp;gt;&lt;br /&gt;
After another &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt; of 500ms the loop continues cycling.&lt;br /&gt;
&lt;br /&gt;
== Elektor Internet Radio 1.0 ==&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
On the EIR we use pin 1 of port A (pin 2 of header K1) as digital output and pin 34 of header K1 as +3,3V power supply.&amp;lt;br&amp;gt;Connect the resistor to pin 34 of header K1, the LEDs cathode to pin 2 of header K1.&lt;br /&gt;
&lt;br /&gt;
=== Source Code ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/timer.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
    outr(PIOA_PER, 2);&lt;br /&gt;
    outr(PIOA_OER, 2);&lt;br /&gt;
&lt;br /&gt;
    for (;;){&lt;br /&gt;
        outr(PIOA_CODR, 2);&lt;br /&gt;
        NutSleep(500);&lt;br /&gt;
        outr(PIOA_SODR, 2);&lt;br /&gt;
        NutSleep(500);&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output ===&lt;br /&gt;
&lt;br /&gt;
 Blinking LED&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/timer.h&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
provides a header file, required by &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt;.&lt;br /&gt;
Within the &amp;lt;code&amp;gt;main()&amp;lt;/code&amp;gt; function,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
outr(PIOA_PER, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enables PIO (Parallel Input Output Controller) at port A bit 1. This disables any peripheral function on this port bit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
outr(PIOA_OER, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
configures port A bit 1 as an output.&lt;br /&gt;
&lt;br /&gt;
Within the endless loop,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
outr(PIOA_CODR, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
drives bit (pin) 1 of port A low, which makes the LED lit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
NutSleep(500);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt; (delay) of 500ms,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
outr(PIOA_SODR, 2);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
drives Pin 1 of Port A high again, swiching the LED off.&lt;br /&gt;
&lt;br /&gt;
After another &amp;lt;code&amp;gt;NutSleep()&amp;lt;/code&amp;gt; of 500ms the loop continues cycling.&amp;lt;br&amp;gt;&lt;br /&gt;
(To better understand this commands, have a look at chapter 34 of Atmels documentation on the AT91SAM7SE512.)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* More [[Nut/OS Examples]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Code Snippets]]&lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;/div&gt;</summary>
		<author><name>Daniel</name></author>	</entry>

	</feed>