diff --git a/examples/arduino-internal-library/README.rst b/examples/arduino-internal-library/README.rst new file mode 100644 index 00000000..45ed35b9 --- /dev/null +++ b/examples/arduino-internal-library/README.rst @@ -0,0 +1,20 @@ +Arduino Example: Build code with internal library +================================================= + +1. Download ``platformio`` + `sources `_ +2. Extract ZIP archive +3. Then run these commands: + +.. code-block:: bash + + # Change directory to example + $ cd platformio-develop/examples/arduino-internal-library/ + + # Install Atmel AVR development platform with Arduino Framework + $ platformio install atmelavr + + # Process example project + $ platformio run + +.. image:: console-result.png diff --git a/examples/arduino-internal-library/console-result.png b/examples/arduino-internal-library/console-result.png new file mode 100644 index 00000000..2a66e121 Binary files /dev/null and b/examples/arduino-internal-library/console-result.png differ diff --git a/examples/arduino-internal-library/platformio.ini b/examples/arduino-internal-library/platformio.ini new file mode 100644 index 00000000..3e4373c7 --- /dev/null +++ b/examples/arduino-internal-library/platformio.ini @@ -0,0 +1,7 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +[env:arduino_pro5v] +platform = atmelavr +framework = arduino +board = pro16MHzatmega168 diff --git a/examples/arduino-internal-library/src/main.cpp b/examples/arduino-internal-library/src/main.cpp new file mode 100644 index 00000000..92b55e2b --- /dev/null +++ b/examples/arduino-internal-library/src/main.cpp @@ -0,0 +1,51 @@ +/** + * Copyright (C) Ivan Kravets + * See LICENSE for details. + */ + +/* + * EEPROM Read + * + * Reads the value of each byte of the EEPROM and prints it + * to the computer. + * This example code is in the public domain. + * + * https://github.com/arduino/Arduino/blob/master/libraries/EEPROM/examples/eeprom_read/eeprom_read.ino + */ + +#include +#include + +// start reading from the first byte (address 0) of the EEPROM +int address = 0; +byte value; + +void setup() +{ + // initialize serial and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for Leonardo only + } +} + +void loop() +{ + // read a byte from the current address of the EEPROM + value = EEPROM.read(address); + + Serial.print(address); + Serial.print("\t"); + Serial.print(value, DEC); + Serial.println(); + + // advance to the next address of the EEPROM + address = address + 1; + + // there are only 512 bytes of EEPROM, from 0 to 511, so if we're + // on address 512, wrap around to address 0 + if (address == 512) + address = 0; + + delay(500); +}