Arduino Syntax in Eclipse/AVR Studio

Gast #3621488
Lesenswert?

Hallo,

ich bin faul und würde gerne
1
pinMode (9, OUTPUT);
2
digitalWrite (9, HIGH);
anstatt
1
DDRB  = 0xff;             
2
PORTB = (1<<PB1);
nutzen.
Gibt es eine Möglichkeit, die Arduino Syntax in zB Eclipse zu nutzen und 
diesen dann als ganz "normale" *.hex Datei zu flashen, ohne den Arduino 
Bootloader nutzen zu müssen?
Ich habe ein STK500 und da ist das leider etwas komplizierter, diesen 
Weg zu gehen.

Vielen Dank!
Gast #3621505
Lesenswert?

Ich kenne mich mit Arduino nicht aus (die Gründe dafür erspare ich 
Euch), aber zumindest liest sich die Verwendung wie eine C-Funktion oder 
ein C-Makro.
Es wäre vielleicht eine interessante Aufgabe eine Funktion pinMode und 
eine Funktion digitalWrite in C zu schreiben.
Wirklich schwer ist das nicht. Und man muss ja nicht gleich alle Typen 
erfassen sondern nur so die für einen selbst wichtigsten.
Gast #3621508
Lesenswert?

Dussel schrieb:
und war schneller.

Robbie schrieb:
> Ich meinte mit meiner Frage nicht, genau diese Funktionen zu
> replizieren, sondern die gesammte Arduino Library zu verwenden.

Dann schreib doch das, was Du meinst. :-)

Vermutlich ist die Arduino-Library Closed source. (Korrigiert mich 
bitte, wenn ich falsch liege). Das heisst, Du wirst sie selbst nachbauen 
müssen. Das aber hat vermutlich auch schon jemand gemacht.
Gast #3621521
Lesenswert?

Robbie schrieb:
> Gibt es eine Möglichkeit, die Arduino Syntax in zB Eclipse zu nutzen und
> diesen dann als ganz "normale" *.hex Datei zu flashen, ohne den Arduino
> Bootloader nutzen zu müssen?
Das ist keine "Arduino-Syntax", sondern ganz normale C++ Syntax, bei der 
die Arduino Library verwendet wird.

Robbie schrieb:
> Ich habe ein STK500 und da ist das leider etwas komplizierter, diesen
> Weg zu gehen.
Das hat doch einen Serial Port. Da kannst du doch ganz wunderbar den 
Arduino-Bootloader und die Arduino-IDE mit verwenden.

Bitflüsterer schrieb:
> Ich kenne mich mit Arduino nicht aus (die Gründe dafür erspare ich
> Euch), aber zumindest liest sich die Verwendung wie eine C-Funktion oder
> ein C-Makro.
C++ Funktion.

Bitflüsterer schrieb:
> Vermutlich ist die Arduino-Library Closed source.
Nein, sie ist Open-Source. Hier ist der Quellcode:
https://github.com/arduino/Arduino/tree/master/hardware/arduino/cores/arduino
(in den anderen Verzeichnissen dieses Repositories findet sich noch 
mehr, das ist nur der "Core").
Die digitalWrite Funktion z.B. ist hier:
https://github.com/arduino/Arduino/blob/master/hardware/arduino/cores/arduino/wiring_digital.c#L137

Das muss man dann nur noch in das eigene makefile einbinden.
Gast #3621527
Lesenswert?

Dr. Sommer schrieb:
> Robbie schrieb:
>> Ich habe ein STK500 und da ist das leider etwas komplizierter, diesen
>> Weg zu gehen.
> Das hat doch einen Serial Port. Da kannst du doch ganz wunderbar den
> Arduino-Bootloader und die Arduino-IDE mit verwenden.

Das geht leider nicht so einfach.
Den Bootloader laden schon, aber dann wird es schwierig.
Der Bootloader wartet nach einem Reset kurz, ob etwas kommt, dann 
startet er den Code. Das STK500 kann aber leider nicht kurz vor dem 
Schreiben den UC resetten, so dass das händisch geschehen muss, was 
erstens nervig ist und zweitens nicht immer funktioniert.
Das war meine bescheidene Erfahrung dahingehend.
Bitte korrigiert mich, falls es auch anders/besser geht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren