mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PlatformIO Tutorial


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Dinera D. (dinera)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich nutze nun seit einigen Monaten PlatformIO (Atom) zur AVR 
Programmierung. Ich bin etwas genervt von dem Arduino Framework. Es wird 
eine "main.cpp" Datei erstellt und der Compiler ist auf "avr_g++" 
gestellt. Bei jedem neuen Projekt muss man die Main umbenennen und den 
Compiler ändern. Zudem steht in der Main "setup" und "loop".
Nutzt jemand von euch PlatformIO für die AVR Programmierung und hat sich 
schon mit der Template Thematik auseinander gesetzt?

Evtl. könnte ich eine kleine Anleitung schreiben, wie man unter Linux 
eine Entwicklungsumgebung mit Atom und PlatformIO aufbaut. Gern würde 
ich hier auch auf Erfahrungen von eurer Seite zurück greifen. :)

Dinera

Autor: The Mule (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundlegend hat PlatformIO nichts mit Arduino zu tun. Arduino hat auch 
nichts mit Atom zu tun.
Das Problem sollte nochmal sachlich geschildert werden.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn ich auf der PlatformIO Home-Seite ein neues Arduino Projekt 
erzeuge, bekomme ich eine main.cpp mit folgendem Inhalt:
#include <Arduino.h>

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

Autor: Mister A. (mratix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dinera D. schrieb:
> Ich bin etwas genervt von dem Arduino Framework.
dito :)

> Evtl. könnte ich eine kleine Anleitung schreiben, wie man unter Linux
> eine Entwicklungsumgebung mit Atom und PlatformIO aufbaut.
aber gerne, welcome

> Nutzt jemand von euch PlatformIO für die AVR Programmierung und hat sich
> schon mit der Template Thematik auseinander gesetzt?
Ich bin immer noch auf der Arduino IDE und merke dass ich an Grenzen 
stoße.

Templates würden mich generell interessieren. Gerade wenn man 
unterschiedliche devices hat, geht es schon z.B. mit dem Pinout oder 
angeschlossener Peripherie los.

Ein paar Experimente mit verschachtelten #ifdef habe ich gefahren. Geht 
auf jeden Fall in die richtige Richtung, nur ein zentrales Handling o.ä. 
fehlt mir. Auch die Möglichkeiten von Split/Merge/Include wären 
interessant.

Neuerding kommt der OTA include zum Einsatz. Diesen bräuchte ich quasi 
als Standard. Eine Kombination mit oben erwähnten wäre genial.

Jedenfalls, würde ich gerne mehr erfahren. Sei es auch nur der 
Einstieg/Umstieg auf was anderes.

: Bearbeitet durch User
Autor: devzero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dinera D. schrieb:
> Ich bin etwas genervt von dem Arduino Framework. Es wird
> eine "main.cpp" Datei erstellt und der Compiler ist auf "avr_g++"
> gestellt.

Hae? Ja nun, Arduino ist nunmal C++. Wenn man es nicht mag, muss man es 
ja nicht benutzen.

Autor: Christopher J. (christopher_j23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch einfach das "native blink" aus "examples" von "platform AVR":
https://docs.platformio.org/en/latest/platforms/atmelavr.html#examples

Das sieht dann so aus:
/**
 * Copyright (C) PlatformIO <contact@platformio.org>
 * See LICENSE for details.
 */

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    // make the LED pin an output for PORTB5
    DDRB = 1 << 5;

    while (1)
    {
        _delay_ms(500);

        // toggle the LED
        PORTB ^= 1 << 5;
    }

    return 0;
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.