Hi, Was ist das eigentlich für eine Programmiersprache, die Arduino verwendet? Irgendwie wie C aber in mancher hinsicht schlichter?. (Arduino IDE akzeptiert ja sogar c befehle, für die ySteuerung von Interrupts oder das bedienen der Zähler und register. und benutzt den gcc-compiler)
Sieht aus wie C, riecht wie C, kompiliert wie C, also, was wird es sein?
:
Bearbeitet durch User
> Irgendwie wie C aber in mancher hinsicht schlichter?. Zitat: "Arduino board in C? In fact, you already are; the Arduino language is merely a set of C/C++ functions that can be called from your code." Siehe: http://arduino.cc/en/Main/FAQ#.Uytp-VLQfIU
Lothar S. schrieb: >> Irgendwie wie C aber in mancher hinsicht schlichter?. > > Zitat: > "Arduino board in C? > > In fact, you already are; the Arduino language is merely a set of C/C++ > functions that can be called from your code." > > Siehe: > http://arduino.cc/en/Main/FAQ#.Uytp-VLQfIU Wenn schon zitieren dann bitte komplett:
1 | Can I program the Arduino board in C? |
2 | |
3 | In fact, you already are; the Arduino language is merely a set of C/C++ |
4 | functions that can be called from your code. Your sketch undergoes minor |
5 | changes (e.g. automatic generation of function prototypes) and then is |
6 | passed directly to a C/C++ compiler (avr-g++). All standard C and C++ |
7 | constructs supported by avr-g++ should work in Arduino. For more details, |
8 | see the page on the Arduino build process. |
Letztendlich ist Arduino C/C++ durch die Libs aber stark "Anfängertauglich" gemacht. Wenn man denn aber will kann man die Arduino Hardware auch in Assembler programmieren. Ist schliesslich auch nur ein Board mit nem Atmega drauf. Die Vereinfachung rührt daher das der Ursprungsgedanke der Arduino Plattform der war, Künstlern und Kreativen den Einstieg in interaktive Werke zu Erleichtern die eben keine Erfahrung in C/C++ oder überhaupt in Elektronik haben. Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen =)
Manuel Z. schrieb: > Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen Tut er das? Ist doch weitestgehend handelsübliches C++. Wo findet denn da die Versauung statt?
Boris P. schrieb: > Manuel Z. schrieb: >> Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen > > Tut er das? Ist doch weitestgehend handelsübliches C++. Wo findet denn > da die Versauung statt? Na, nirgends. Auch in C/C++ und allerlei anderen Programmiersprachen werden reichlich Libs genutzt, weil man nicht immer das Rad von vorne erfinden möchte.
Versaut finde ich, dass es kein main() mehr gibt, sondern statt dessen setup() und loop(). Dadurch verlernt der Programmierer solche Sachen wie while(true) oder for (;;)
Pink Shell schrieb: > Versaut finde ich, dass es kein main() mehr gibt, sondern statt dessen > setup() und loop(). Dadurch verlernt der Programmierer solche Sachen wie > while(true) oder for (;;) ^^ ist nicht dein Ernst, oder?
Boris P. schrieb: > nicht dein Ernst Ne natürlich nicht. Nächstes Mal mach ich ein Smiley dahinter :-)
Pink Shell schrieb: > Ne natürlich nicht. Nächstes Mal mach ich ein Smiley dahinter :-) Na dann ists ja gut ;-) Gibt ja son paar Spezialisten hier im Forum, die tatsächlich so drauf sind...
Wenn mal einer der keine Ahnung hat Geschmack an dem pinmode, digitalwrite analogwrite etc. mist gefunden hat, kann man ihm das schwer wieder austreiben. Ich wollte damit darauf hinaus das es sinnvolleres für Anfänger gibt als Arduino. Ich finde es zumindest etwas mühsam wenn dann Anfragen kommen warum dies und das nicht funktioniert wenn dann doch mal über den Arduino Tellerrand geschaut wird.
Manuel Z. schrieb: > Wenn mal einer der keine Ahnung hat Geschmack an dem pinmode, > digitalwrite analogwrite etc. mist gefunden hat, kann man ihm das schwer > wieder austreiben. Ich glaube nicht das jeder der Arduino benutzt keine Ahnung hat. Ich persönlich benutze beides AVR mit C/C++ Aber in manchen Anwendungen finde ich auch an der Arduino Plattform gefallen, toll finde ich ach, dass ich direkt in der Arduinoumgebung auch normale C/C++ oder Sogar Assembler neben kann. > > Ich wollte damit darauf hinaus das es sinnvolleres für Anfänger gibt als > Arduino. Kommt darauf an, inwiefern man es benötigt, wenn jemand schnell ein Aufwendiges Projekt machen möchte, ist er mit Arduino unter umständen schneller.
Für viele Nutzer ist Arduino nur ein Werkzeugkasten um Schnittstellenprobleme zu lösen oder ohne viel Ahnung und Aufwand Ideen zu realsieren. Wenn ich eigentlich Malerei oder sowas studiere aber für einen speziellen Fall/Projekt eine LED zum blinken bringen will interessieren mich Bitmasken herzlich wenig, sondern ich bin dankbar um digitalwrite und so einen Kram weil die LED dann schneller blinkt und ich gar nicht mehr als dies möchte. Dann bleibt mehr Zeit zur Lektüre! und für andere tolle dinge.
Mich nervt, dass viele meinen, nur weil sie einen Arduino haben, können sie damit alles. So nach dem Motto Ausbildung oder E-Technik Studium machen ja nur Vollidioten. Das was die können kann ich schon lang, etc... Was ich auch schlimm finde ist die Arduino IDE. Der Code Editor ist ein graus... Allein schon die Schriftart, die absolut bescheuerte Einrückung die nicht funktioniert und augenscheinlich an nichts ausgerichtet ist. Drückt man Tab, springt der Cursor überall hin, nur nicht da hin wo er soll. Unter Linux kackt das Ding auch noch regelmäßig ab, under Windows gehts. Und da sind noch andere Dinge...
Mike Mike schrieb: > Mich nervt, dass viele meinen, nur weil sie einen Arduino haben, können > sie damit alles. So nach dem Motto Ausbildung oder E-Technik Studium > machen ja nur Vollidioten. Das was die können kann ich schon lang, > etc... Ich verstehe diese Einstellung nicht. Insbesondere die, die eine E-Technik Ausbildung oder ein Studium absolviert haben, sollten doch stolz darauf sein, dass jemand aus ihren Reihen so etwas wie einen Arduino geschaffen hat und man nun kein Studium mehr braucht, um einen Mikrocontroller zu programmieren. Ist nicht das die Aufgabe eines Ingenieurs? Dinge zu schaffen, die das Leben vereinfachen? Wer die Frage mit "nein" beantwortet, darf sich selbst fragen, warum er hier im Forum rumtönt, ohne vorher Lochkarten zu stanzen ;-)
Du hast es nicht richtig gelesen. Manche stellen sich mit einem E Techniker gleich, weil sie meinen mit dem Arduino können Sie alles was der E Techniker kann.
> Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen
Bist Du die Inquisition der C++ Programmierer?
Mike Mike schrieb: > Mich nervt, dass viele meinen, nur weil sie einen Arduino haben, können > sie damit alles. So nach dem Motto Ausbildung oder E-Technik Studium > machen ja nur Vollidioten. Das was die können kann ich schon lang, > etc... Ah, das ist also dein Problem. Du gönnst es anderen nicht dass sie relativ schnell und einfach ihre Projekte umsetzen können. Die sollen gefälligst auch in die selben Probleme reinlaufen die du damals hattest, und Monate an Einarbeitung verplempern. Echt unfair, mit diesem Arduino Zeugs. Und deine schönen, selbstgeschriebenen Libs, die du dir über die Jahre erstellt hast, die kriegt ein Arduino-Anfänger alle schon "geschenkt" und kann auf einmal das gleiche machen wie du... Mike Mike schrieb: > Du hast es nicht richtig gelesen. Manche stellen sich mit einem E > Techniker gleich, weil sie meinen mit dem Arduino können Sie alles was > der E Techniker kann. Bittebittebitte zeig mir ein Beispiel hier im Forum wo das der Fall ist. Mich würds interessieren, wirklich! Manuel Z. schrieb: > Wenn mal einer der keine Ahnung hat Geschmack an dem pinmode, > digitalwrite analogwrite etc. mist gefunden hat, kann man ihm das schwer > wieder austreiben. Sind doch sehr schöne Funktionen! Nur leider recht unperformant. Ich selbst würde auch gerne so saubere Schnittstellen verwenden, dann kann man seine Libs/Module so richtig schön von der Hardware abtrahiert entwickeln. Leider will man die Laufzeiteinbußen selten haben. Zum Schalten einer LED alle heilige Zeit mags noch OK sein, aber eine Soft-PWM wird man damit eher nicht hinkriegen.
Manuel Z. schrieb: > Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen Ja. Libraries resultieren in bösen Dingen wie Abstraktion, was dazu führt, dass E-Techniker den Code nicht mehr verstehen. Alexander "B" schrieb: > Wenn ich eigentlich Malerei oder sowas studiere aber für einen > speziellen Fall/Projekt eine LED zum blinken bringen will interessieren > mich Bitmasken herzlich wenig, sondern ich bin dankbar um digitalwrite > und so einen Kram weil die LED dann schneller blinkt und ich gar nicht > mehr als dies möchte. Auch als Nicht-Künstler finde ich das Bitgefummel nervig. In 90% aller Fälle will ich (auch ohne Arduino) einfach sowas:
1 | set_timer_1(MODE_CTC, 12500/*µs*/); |
In Spezialfällen sehe ich gerne jedes Register und Bit einzeln nach, aber bei solchen Trivialitäten ist mir meine Zeit zu schade dafür. le x. schrieb: > Leider will man die Laufzeiteinbußen selten haben. Ich würde behaupten, dass man die zus. Laufzeit zwar selten haben will, dies aber meistens nur ein diffuses (und unbegründetes) Optimierungsbedarfsgefühl ist.
@le x ne hab ich nicht nötig mich vor Leuten recht zu fertigen, die mir irgendwelche WWörter in dem Mund legen wollen. Du verdrehst alles was ich sage, als ob du bei der Presse wärst
Lothar S. schrieb: >> Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen > > Bist Du die Inquisition der C++ Programmierer? Na auf dich hab ich ja nur gewartet. Gerade kein anderer Thread zum zutexten da? Tom K. schrieb: > Manuel Z. schrieb: >> Letztendlich macht Arduino aber nur eins, Den "Programmierstil" versauen > Ja. Libraries resultieren in bösen Dingen wie Abstraktion, was dazu > führt, dass E-Techniker den Code nicht mehr verstehen. > Es geht nicht um die Libs an sich, sondern eben darum das viele Arduino Nutzer eben der Ansicht sind "so gehörts" und sich einen Dreck um die dahinter stehenden Register etc. scheren... Im Prinzip also Null Ahnung haben was sie da eigentlich machen, bei Problemen aber der Meinung sind alles zu wissen. Insofern ma es evtl. sein das "den Programmierstil versauen" schlecht formuliert ist, in der Kernaussage stimmt es aber.. Arduino an sich ist eine feine Sache, eben weil man - wie oben schon wer erwähnt hat - z.B. auch mit ASM drauf kann wenn man denn will. Und weil es eben - wofür es ja gesschaffen wurde - E-Technik fremden die Nutzung von uC erleichtert etc. Aber die IDE und die libs finde ich schlecht und eben das versaut. Letztendlich die Entscheidung eines jeden selbst, aber wenn man den 20en Studenten gehört hat wie toll das doch alles ist und as es nur noch ein kleines Problem gibt.. naja.. egal :)
A. B. schrieb: > Für viele Nutzer ist Arduino nur ein Werkzeugkasten um > Schnittstellenprobleme zu lösen oder ohne viel Ahnung und Aufwand Ideen > zu realsieren. > Wenn ich eigentlich Malerei oder sowas studiere aber für einen > speziellen Fall/Projekt eine LED zum blinken bringen will interessieren > mich Bitmasken herzlich wenig, sondern ich bin dankbar um digitalwrite > und so einen Kram weil die LED dann schneller blinkt und ich gar nicht > mehr als dies möchte. > > Dann bleibt mehr Zeit zur Lektüre! und für andere tolle dinge. Seitwann, braucht man ein vollständiges etechnik studium um einen uC zu programmieren?
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.