Programmbeispiel

Die Beispiele können auch in der Programmierumgebung  Arduino IDE unter Datei:Beispiele:Basics abgerufen werden.

Hier noch einmal das Beispiel mit dem Blinkprogramm aus der Einführung.

Arduino IDE Atmel Studio
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>

int main(void)
{
    DDRB = 0x20;
    PORTB = 0x20;

    while (1)
    {
        _delay_ms(200);
        PORTB ^= 0x20;
    }
}


Die dazugehörige Schaltung sieht wie folgt aus (wenn zusätzlich an Pin 13 eine externe LED angeschlossen werden soll):

Abb.: Schaltung Blinkprogramm; Quelle: BBS2 Wolfsburg

Unterschiede zwischen den Programmierumgebungen

Diese Abnahme der Programmierarbeit (Bitmanipulation) kann auf einer Seite ein Vorteil sein, auf der anderen Seite schränkt es die Freiheiten beim Programmieren ein. Arduino IDE verwendet hauptsächlich vorgefertigte Standardfunktionen. Wenn allerdings speziellere Funktionen erwünscht sind, können meist keine vorgefertigten Funktionen verwendet werden. Die Funktionen müssen, was in Atmel Studio einfacher zu realisieren ist, selbst erstellt werden. Um die Einheitlichkeit im Programm zu wahren, wäre es somit sinnvoll alles mit Atmel Studio zu programmieren.

Ein kleiner weiterer Vorteil des Editors in Atmel Studio ist die Autovervollständigung der Begriffe - diese beugt Schreibfehlern vor.

Zuletzt geändert: Freitag, 21. Januar 2022, 10:40