Arduino Uno und andere Entw.Umgeb.

Hallo liebe Leuete,

habe mir meinen ersten Arduino geholt - den Uno. Bis Arduino habe ich mit Cosmic Studio und Keil gearbeitet. Die Software von Arduino (arduino-0021) ist etwas simpler, man sieht nicht, wie bei anderen Programmen die Ordner mit den Dateien, oder Klassen, ich kann keine Pins beim Debug überprüfen, den Debug habe ich auch noch nicht gefunden...

Kann man auch eine andere software wie keil o.ä. für die Programmierung mit dem Arduino Uno Board verwenden und wenn ja welche?

Vielen Dank im Voraus, Grüsse - Mischa

Du kannst jede Umgebung benutzen, die den Atmega 168 / 328 unterstützt, die Frage ist aber dann warum du dir ein Arduino Board gekauft hast.

... naja es ist günstig, hat gute kritik und ausserdem habe ich nicht ganz nachgedacht und vergessen zu überprüfen welche Software Arduino anwendet - benutst du denn die org. Software von Arduino? Kann man da normal debuggen usw.?

Ich weiss nicht so ganz was du möchtest :)

Das Arduinoboard ist ein Anfängerboard mit integriertem Booloader zum einfachen Erstellen von Sketches.

Ich benutze wie eigentlich alle hier die Arduino Software, eben weil sie einfach ist. Debuggen sagt mir weder was, noch hab ich das je gebraucht. Ich compile den Sketch, und wenn ein Fehler drin ist bereinige ich ihn.

Wie gesagt, um mit anderen Umgebungen den Atmega zu programmieren hättest du kein Arduinoboard sondern für 5 Euro Teile gebraucht.

also nur das Ihr versteht, ich bin ein Anfänger :) Habe nur 2 Tuts mit Keil durchgemacht und mir das Board gekauft.

Entwickelt Ihr eher mit dem Arduino Prog.? Oder eher mit einem anderen - mit welchem? Ich müsste mich am Anfang festlegen um richtig anzufangen

Danke im Voruas

Ich schätze dass für Arduino Boards 98% der Leute mit der Arduino IDE programmieren.

ah ok - aber jetzt mal kurz zum debuger, sagen wir ich habe ein grösseres Programm, alles stimmt vom code her, aber ich habe ein ungewolltes ergebnis und will eine simulation durchfühern und bestimmte bits bei einem port ein/ausschalten (während der simulation) - wie macht man das in dem Studio? Oder wie kann man sich die File-Struktur oder Klassenstruktur anzeigen lassen?

Es gibt keine Simulation bei der IDE.

Es gibt keine Filestruktur und keine Klassenstruktur.

Es gibt eine Datei (pde), in die du c/h files einbinden kannst (Libraries)

Das wars.

Sorry - ich wollt nicht so dofe fragen stellen - ist für mich einfach etwas neu das ganze. Ich kenn anscheinend gar nicht den unterschied zwischen einem IDE und einer Software die solche debuger-simulationen durchführt.

Danke vielmals für die Geduld :)

Auf welchem Chip hast du denn vorher programmiert?

Was soll man auch tsimulieren, man lädt das auf den Chip, wenns funktioniert, passt, wenn nicht - umprogrammieren, neu hochladen.

Im Grunde ist ja die IDE nur das Arduino Programm - ein Texteditor mit eingebauter Hochladefunktion für den Arduino vereinfacht gesagt.

ich habe früher 2, 3 Tuts auf dem STM8S mit dem ST-Chip durchgemacht. Habe halt mit Simulationen getestet, weil so die Tuts waren.

Verstehe ich das richtig, dass diese Funktionen: http://arduino.cc/en/Reference/HomePage, z.B. analogWrite() ein Teil vom Arduino IDE sind oder sind die in einer der Klassen?

Also, im Endeffekte schreibst du in C/C++ ein Programm, von mir aus im Texteditor und lädst es hoch. das wars.

Es gibt in der IDE nur ein Fenster, das ist ein Textfenster und da kommt dein Code rein.

Und was meinst du immer mit Klassen? Es gibt imho keine Klassen, und wenn kenn ich sie nicht und hab jetzt schon seit zwei Jahren nichts verpasst :)

:D stimmt, C hat keine Klassen, ok das mit Code schreiben/hochladen kapiere ich ja, aber diese Funktionen wie analogWrite() sind ja keine Standartfunktionen... d.h. irgendwo, in irgendeiner Vektordatei, wo die Pins und Funktionen deklariert werden, wird auch diese Funktion deklariert. Meine Frage ist jetzt ob das Dateien sind die fest im Programm sind oder sind es Dateien die man auch im anderen Programm importieren kann?

Ach das meinst du. Das sind ja im Grunde Vereinfachungen der AVR-Befehle

hardware\arduino\cores\arduino

Schau da mal rein. Damit kenn ich mich nicht aus, aber was solls.

Warum hast du dir das Board denn gekauft, was willst du denn eigentlich machen und warum ist dir der Weg über das ArduinoIDE, der so einfach ist, zu schwierig?

:DD ja stimmt schon, warum schwierig wählen, wenns einfach geht. es ist so, dass ich es im Studium das bald vom Grund auf lernen werde und nicht mit vorgeschriebenen Funktionen arbeiten werde, sondern alles selber schreiben muss... wirklich alles - als eine PWM wird viiiiiiel länger dauern als eine Zeile - daher wollte ich das mit diesem Board mal etwas proben/vorbereiten. Das ist der Hintergrund

Ich denke dass du dann mit einem ARM oder so besser dran wärst.

Wie gesagt, der Arduino und seine Software ist eben dafür da DASS es nur eine Zeile braucht.

Vielleicht macht es Sinn mit dem AVRStudio und einem AVRisp Interface den Chip direkt zu beschreiben, da hast du dann natürlich keine Funktionen wie bei Arduino.

Ich zB habe weder das Sachverständnis noch die Zeit mich so intensiv zu beschäftigen, und kann innerhalb kurzer Zeit sehr (für meine Verhältnisse) komplexe Projekte realisieren.

ok, ich verstehe - Danke dir VIELMALS für die Hilfe und Aufklärung.

Grüsse - Mischa

Debugger sind bei sehr komplexen Programmiersprachen wie z.B. Delphi enthalten. Damit kann man dann den Inhalt von einzelnen Variabeln stetig überprüfen und mehr, zudem kann das Programm mit dem Debugger schrittweise ausgeführt werden. Um einen SOLL und IST Zustand innerhalb einer Variabel besser miteinander vergleichen zu können. Was bei einem rekursiven Funktionsaufruf äusserst nützlich sein kann. Aber mit solchen Compilern werden auch Programme geschrieben die um den Faktor 1000 oder mehr grösser sind als die Arduino Programme. Also Listings mit 100000 Zeilen und mehr.

Wenn Du etwas Debuggen willst um Dir selber die Fehlersuche in deinem Sketch zu erleichtern. Dann kannst Du die Signalleitungen deiner Schaltung, die du überprüfen willst, überprüfen indem Du Leuchtdioden benutzt. Diese schaltest du dann jeweils PARALLEL zur überprüfenden Signalleitung, Vorwiederstand nicht vergessen. Die Inhalte der zu überwachenden Variabeln kannst Du dabei auf dem Terminal ausgeben.

Damit das ganze nicht zu schnell abläuft kannst Du an geeigneten Stellen in deinem Programm delay Befehle einbauen. Die Du nach erfolgreicher Fehlersuche wieder entfernst !

Hallo Mischa

Das IDE ist eine Entwicklungsumgebung fürs Editieren, Compilieren und Übertragen der Sketch auf den Arduino. Der Compiler der verwendet wird, ist der Standard GCC-AVR Compiler für die ATmega. Die Funktionen, die die Hardware des ATmega unterstützt, können auch durch direktes ansprechen der Register des Microcontrollers programmiert werden.

Arduino ist aber für Anwender gedacht die sich nicht allzusehr auf die HW-Ebene begeben, sonder um Projekte realisieren zu können für die es normalerweise fundierte Progremmierkenntnisse auf Hardware-Ebene braucht.

Das IDE hat keinen Simulator und keinen Debugger. Fürs debuggen verwendet man die Serielle Schnittstelle und überträgt die Werte von Variablen um zu verstehen was falsch läuft.

Grüße Uwe