Hey Du,
beim Lesen Deiner Beiträge fühle ich mich regelmäßig wie ein Vollidiot, weil ich erstmal gar nichts kapiere und jede 2. Formulierung googeln muss und mich einlesen, was Du da eigentlich gerade gesagt hast. Das hat mir in den letzten Tagen schon viele wertvolle AHA-Momente die interne Speicherverwaltung betreffend beschert.
Ich wollte nur mal Danke sagen, für Deine vielen geduldigen und klar strukturierten Antworten/Grundlagenbeiträge zu C++ Techniken und zur AVR Architektur. Mit Dir als Dozent macht lernen Spaß, auch wenn ich momentan einfach nur "zuhöre"!
Beste Grüße
Helmuth
:o
Wenn man sich auskennt ist es halt schwer abzuschätzen was andere an Grundlagen mitbringen und wie sehr man Details erklären muss. Andererseits wird dadurch ein Betrag auch noch mehr aufgebläht und unübersichtlicher. Außerdem habe ich auch nicht Lust jedesmal riesige Romane zu schreiben.
Was man da aber auch merkt, ist dass die Arduino Idee dass völlige Laien auf die Schnelle programmieren können nicht wirklich funktioniert. Das geht vielleicht für die primitivsten Programme. Aber ich habe schon öfters gemerkt, dass Leute bei relativ einfach Sachen große Probleme haben. Und dann muss man sich hier und da doch relativ schnell mal mit ein paar AVR oder C Grundlagen beschäftigen. An der Stelle ist es dann meiner Meinung nach nicht gut dass die Arduino Macher diese Dinge dann so gezielt verstecken und so tun als bräuchte man das nur als Experte.
Man muß einfach gut erklären können, aber auch das Niveau des Fragenstellers möglichst genau einschätzen können.
Und beides ist bei Serenifly eben der Fall - einfach super !
Ein Forum lebt von solchen Leuten, und die Antworten sind auch nie herablassend was auch wichtig ist.
Was man da aber auch merkt, ist dass die Arduino Idee dass völlige Laien auf die Schnelle programmieren können nicht wirklich funktioniert
Kann auch nicht Funktionieren, meiner Meinung nach sind Applikationen die auf Embedded Systemen laufen sollen schwieriger zu Programmieren als z.b eine Windows Anwendung.
Wenn jemand noch nie was Programmiert hat und keine Sprache kann, wird auch mit dem Arduino auf die Nase fallen.
An der Stelle ist es dann meiner Meinung nach nicht gut dass die Arduino Macher diese Dinge dann so gezielt verstecken und so tun als bräuchte man das nur als Experte.
Was meinst du damit genau ?
Die AVR Register lassen sich auch aus der Arduino Umgebung bearbeiten, auch eine ISR Funktion funktioniert.
Man kann natürlich alles machen wenn man will. Und weiß wie.
Aber wenn du dir mal die Arduino Dokumentation anschaust (z.B. die Reference Seite), dann ist das alles fast komplett auf die Arduino Abstraktionsebene zugeschnitten. Und das ist Absicht. Man will die "komplizierteren" Sachen nicht so in den Vordergrund stellen, weil manche befürchten, dass dann Beispiele nur noch auf diese Art geschrieben werden und damit mehr Verwirrung entsteht.
Dabei könnte man z.B. die AVR libc Seite mehr in den Vordergrund stellen. Die wird nur ganz am Ende mal als Fußnote erwähnt, wo man sie kaum wahrnimmt. Aber nicht auf der "char Array" Seite. Die Dokumention von Libs wie string.h und stdlib.h ist dabei sehr wichtig. Auch Anfänger kommen recht schnell an die Stelle wo sie eine dieser Funktionen brauchen. Das dann in der Reference zu finden und korrekt zu implementieren ist natürlich auch nicht einfach und vielleicht zu viel verlangt, aber ich habe manchmal das Gefühl, dass viele Leute denken was für die IDE dokumentiert ist, ist alles was es gibt.
Ja, Serenifly ist neben Jurs eine der Stützen des deutschsprachigen Arduinoforums 
Im englischsprachigen Sprachraum gibt es die sehr guten Seiten von Sparkfun und Adafruit z.B.
Die sind quasi das, was in meiner Jugend die Elektronikbastelbücher waren. Da hinkt der deutsche Sprachraum etwas hinterher.
Es wäre nicht schlecht, wenn die IDE einen Expertenmodus hätte und einen Resetknopf, womit man wieder zurückkommt. Und vielleicht ein Fenster mit Piktogramm, wenn man einen Pin zuweist mit Arduinoheader und alternativ IC-Pin, wenn man den Chip "pur" verbauen will.
Das das Programmieren nicht so einfach ist und viele Stolpersteine bereithält, habe ich auch ganz schnell gemerkt 
Gruß Gerald
nix_mehr_frei:
Das das Programmieren nicht so einfach ist und viele Stolpersteine bereithält, habe ich auch ganz schnell gemerkt 
Wenn man noch nie was gemacht hat, ist der Einstieg in C (++) ziemlich heftig.
Was auch noch dazu kommt, ist das die Entwicklung auf embedded Sytemen komplizierter ist als unter einen OS.
Es gibt auch Sprachen die leichter zu erlernen sind, zum Beispiel Pascal oder Delphi. (Wenn es mit Objekten unter Win sein soll)
rudirabbit:
Wenn man noch nie was gemacht hat, ist der Einstieg in C (++) ziemlich heftig.
Was auch noch dazu kommt, ist das die Entwicklung auf embedded Sytemen komplizierter ist als unter einen OS.
Es gibt auch Sprachen die leichter zu erlernen sind, zum Beispiel Pascal oder Delphi. (Wenn es mit Objekten unter Win sein soll)
Und ich dachte immer, unter Windows ein Programm zu schreiben wäre schwieriger 
Außer 1987 ein paar Progrämmchen mit dem Basicinterpreter auf einem Z80 basierten Heimcomputer in der Berufsausbildung hatte ich keinerlei Programmiererfahrung, aber das Grundverständnis für die Hardware, den Wertebereich von Datentypen und so, weil ich damals viel mit TTL-Gräbern bastelte.
Eigentlich war der Schritt in die µProzessorwelt für mich längst überfällig. Aber die Einstiegshürde war noch nie so niedrig und erste Erfolge so schnell, wie noch nie da. Wenn man dann einmal halbwegs weiß, wo man ansetzen muß, dann beginnt es recht schnell, Spaß zu machen 
Gruß Gerald
Windows verzeiht dir eher ineffizientes Programmieren, da du Unmengen RAM hast. Ich sehe hier ständig Programme die sehr verschwenderisch mit dem RAM umgehen. Manchmal macht es nichts, aber gerade z.B. bei Ethernet (wo die Lib schon viel RAM braucht) führt das auch schnell zum Absturz.
Auf dem PC kommt außerdem dazu, dass man bei Sprachen die in einer Virtual Machine oder einem Interpreter laufen meistens auf die Finger geklopft bekommt wenn zur Laufzeit was nicht passt. C/C++ Programme laufen dagegen einfach weiter. Aber selbst in Visual C++ bekommst zu bei manchen Sachen Laufzeit Fehler von der IDE, während du auf dem µC nur merkst dass er nicht macht was du willst.
Meistens fehlende Debug-Möglichkeiten machen die Entwicklung auch schwieriger. Es gibt zwar inzwischen auch im Embedded-Bereich richtige Debugger (sogar für den Arduino), aber auf dem PC hat man trotzdem mehr Überblick was das Programm gerade macht.
Hallo Serenifly,
Es gibt zwar inzwischen auch im Embedded-Bereich richtige Debugger (sogar für den Arduino)
kannst Du da etwas empfehlen? Auf welcher Abstraktionsebene läuft das?
Bei komplexeren Programmen finde ich es oft mühsam, Breakpoints und Variablen im Serialmonitor zu verfolgen. Habe mir schon mal ein Processing Script schreiben müssen, um mir viele Variablen als Graph zeigen zu lassen, weil ich vorher bei der Suche, wann was warum aus dem Ruder läuft, fast verzweifelt wäre...
Grüße
Helmuth
Es gibt zwar inzwischen auch im Embedded-Bereich richtige Debugger (sogar für den Arduino), aber auf dem PC hat man trotzdem mehr Überblick was das Programm gerade macht.
Für den Arduino richtige Debugger - kannst du konkreter werden ?
@nix_mehr_frei: Schaue dir Visual C++ an, denke das läuft im Prinzip so wie in Delphi.
Alles was in dem Formular haben willst soll z.b Buttons oder was auch immer kannst du grafisch plazieren.
Und zu diesen Objekten kannst du die Eigenschaften einstellen, und auch die Events dazu. (onklick....)
Sieht super aus, vielen Dank!