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!
Was spricht dagegen dir ein "debounce" zu programmieren oder was fertiges herzumehmen. Entsprechend in dein Programm einbinden und es genügt "Taste abfragen". Anders wird es in der Arduino Umgebung auch nicht gemacht.
>Anders wird es in der Arduino Umgebung auch nicht gemacht.
Doch, da ich es dort eben nicht erst programmieren muss ;-)
In Atmel Studio 6 kannst du direkt die ganze arduino IDE einfügen Wie einfach googlen
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.
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.
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!
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.
:
Bearbeitet durch User
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.