Arduino Bibliothek

Gast #3336073
Lesenswert?

Hallo Leute!

Da ihr hier die Spezialisten seid werde ich meine Frage euch stellen.

Ich habe zu meinem Geburtstag von einem Bekannten einen Arduino Uno 
bekommen.
Da ich vorher schon ein bisschen mit den AVRs gebastelt habe, erscheint 
mir die Arduino-Architektur äußerst "robust" und einfacher gehalten als 
das ganze Gefrickel mit dem "normalen C (GCC)" (Avr Studio) für AVRs.

Unabhängig vom Arduino Uno möchte ich jetzt beispielsweise eine 
Schaltung aufbauen und den Arduino ebenso "komfortabel" und einfach wie 
in der Arduino-IDE programmieren. Am besten in AVR-Studio.

Ist das irgendwie möglich, die Bibliotheken da einzubinden?

Was ich zum Beispiel einfach toll finde ist, dass man beim Arduino sich 
keine Gedanken über das Debouncen von Schaltern machen muss.
Ein Befehl, und der Taster wird genau so eingelesen, wie man es haben 
will!

Habt ihr Erfahrung damit?



Danke!
#3336143
Lesenswert?

Im Atmel Studio kannst du auch direkt auf Arduino zugreifen.
Das kann man da installieren.

Du kannst aber genauso gut in C oder C++ dort deine Programme schreiben 
und sie über die ISP Schnittstelle übertragen.

Die Arduinos sind ein nützliches Tool, um den Code zu testen, fertige 
Schaltungen mache ich dann aber auf Lochraster (wenn es Einzelstücke 
bleiben)

Sicher geht ne Menge mit Arduino und zum Einstieg ist es eine tolle 
Sache, aber um richtig die Materie zu verstehen und auch später mit 
anderen Architekturen arbeiten zu können, kann ich dir nur einen 
schnellen Wechsel zu C empfehlen.
Die Nano sind toll fürs Steckbrett.
#3336163
Lesenswert?

joh! schrieb:
> Doch, da ich es dort eben nicht erst programmieren muss ;-)

Es gibt ja auch fertige debounce-Routinen, die hat, genau wie beim 
Arduino, auch schon jemand für dich gemacht.
Wenn man aber mit dem was Arduino hergibt nicht mehr auskommt, wird man 
um ein wenig programmieren nicht herumkommen.
Arduino-Bibliotheken so einfach ins AVR-Studio einbinden wird nicht 
funktionieren.
Gast #3336205
Lesenswert?

Danke erstmal für die Antworten, dann muss ich das wohl erstmal googlen! 
:)

>Sicher geht ne Menge mit Arduino und zum Einstieg ist es eine tolle
>Sache, aber um richtig die Materie zu verstehen und auch später mit
>anderen Architekturen arbeiten zu können, kann ich dir nur einen
>schnellen Wechsel zu C empfehlen.

Ja C ist klar die "universellere" Wahl. Aber: Der Zweck heiligt die 
Mittel.

Das heißt, dass ich nun einen x-beliebigen AVR-Controller (z.B. ATmega8) 
mit der Arduino-Lib über meinen AVRISPmkII oder auf dem STK500 
programmieren kann?

Danke!
#3336230
Lesenswert?

joh! schrieb:

> Das heißt, dass ich nun einen x-beliebigen AVR-Controller (z.B. ATmega8)
> mit der Arduino-Lib über meinen AVRISPmkII oder auf dem STK500
> programmieren kann?

Im Prinzip: ja

Denn auch die Arduino-IDE kann ja nicht zaubern. Irgendwo muss es eine 
Konfigurations-Datei geben, in der zb steht, auf welchen Port/Pin der 
Digital-Pin 14 zu mappen ist, damit dann auch wirklich an der mit 14 
beschrifteten Klemme der entsprechende Pegel erscheint.

Soviel ich weiß, benutzt das Arduino System auch einen der Timer als 
'Systemtimer'. Da muss man natürlich auch darauf achten, dass der 
benutzte µC diesen Timer auch tatsächlich hat, bzw. für Ersatz sorgen.

Derartige Hardware-abhängige Dinge muss man dann eben im Original finden 
und an den tatsächlich benutzten Controller anpassen.
Viele andere fertige Arduino-'Libs' sind ja dann sowieso nicht mehr 
soweit hardware-abhängig, so dass man sie einfach kompiliert und gut 
ists.

Aber im Grunde ist ein Arduino Programm auch nur ein C++ Programm, 
welches durch den C++ Compiler geschickt wird. Denn wie gesagt: Da ist 
ja auch kein Zauberer oder irgendwelche dunkle Magie am Werk. Aber um 
ein wenig Beschäftigung damit, wie das Arduino System auf Code-Ebene 
(also die Runtime, nicht die Entwicklungsumgebung) eigentlich 
funktioniert, wirst du nicht herumkommen.
#3336322
Lesenswert?

Karl Heinz Buchegger schrieb:
> Derartige Hardware-abhängige Dinge muss man dann eben im Original finden
> und an den tatsächlich benutzten Controller anpassen.
> Viele andere fertige Arduino-'Libs' sind ja dann sowieso nicht mehr
> soweit hardware-abhängig, so dass man sie einfach kompiliert und gut
> ists.

Vor allem sind auch viele Libs in C oder C++ geschrieben und wenn etwas 
in Arduino nicht so funktioniert und du kannst nicht wenigstens 
ansatzweise C-Code lesen, dann wirst du dir das nicht hinbiegen können, 
ohne auf so nette Leute wie Karl Heinz zurück zu greifen.

Wenn du nicht verstehst was
Variable |= (1 << 2);    oder
Variable &= (1 << 3);
macht, dann wirst du dir auch in Arduino oft auf dem Schlauch stehen.

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