Hi Stefan,
kannst Du bitte beide Punkte etwas genauer beschreiben, evtl. mit Beispielen?
Hallo Andrej,
zur IDE:
der Arduino IDE fehlen viele Features, die in modernen IDEs selbstverständlich sind. Am meisten stört mich die fehlende Autovervollständigung und dass Syntaxhervorhebung manuell über eine Textdatei konfiguriert werden muss. Das aufteilen des eigenen Codes auf verschiedene Dateien wird schlecht unterstützt und führte bei einem großem Projekt immer wieder zu merkwürdigen Fehlern. Wenn ich mich recht erinnere baut die IDE alle einzelnen Dateien wirder zu einer zusammen. Bestimmter Code kann dann gar nicht mehr funktionieren.
Dann wären noch einige Bugs, die es bei mir in der Vergangenheit immer mal wieder nötig machten die IDE neu zu starten damit mein aktueller Code kompiliert wird und nicht irgendwas, das die IDE gecacht hat.
zu den Feinheiten der Mikrocontroller Programmierung und der Auswirkung aufs Arduino API:
Die Mikrocontroller bieten ja viel mehr Funktionalität als man über die Arduino API ansteuern kann. Wenn man sich davon was zu nutze machen will, dann muss man an die Register des Controllers ran. Zum Beispiel wenn man den Controller nicht in einer Schleife warten lassen möchte (z.B. per "delay(100)") sondern wenn der in einen echten Idle-Modus gehen soll.
Ein gutes Beispiel für Auswirkungen auf das Verhalten des API sind auch die PWM-Frequenzen. Üblicherweise werden die auf 250Hz oder 500Hz gesetzt. Will man andere haben, dann muss man das über die entsprechenden Register einstellen. Wenn man aber den Timer umkonfiguriert, der für den Zeitstempel der "millis()"-Funktion zuständig ist, dann passen die Zeiten nicht mehr, die man damit generiert.
Gruß
Stefan