finde ich vollkommen richtig.
C (nicht unbedingt C++) ist grundsätzlich genau so schnell wie ASM (habe früher mit Turbo C und Turbo asm auf x386 "gearbeitet", um beide immerhin vergleichen zu können), aber C ist 1000x mächtiger und vielseitiger. Kein Wunder, dass man es bekanntlich "erfinden musste", um UNIX überhaupt programmieren zu können (wie man auch hier lesen konnte).
Und wer wirklich Multitasking braucht, sollte ARMs verwenden, die von vornherein MT unterstützen (Arduino Due mit Due Scheduler, NXT mit nxtOSEK, EV3 mit POSIX pthread, oder RasPi, BBB...), warum sich hier die Arbeit machen, selber Speicher und Register zu sichern und wieder zurückzuschreiben? Hinzu kommt die extreme Speicher-Einschränkung, die AVRs haben - völlig ungeeignet für anspruchsvolle Robotik-Anwendungen (ich spreche allerdings nicht von Linienfolgern). Daher: mindestens ein Due für Robotik, zusätzliche ARMs für IO-Multiplexing. Alleine 6 Encoder-Motore mit pwm brauchen schließlich bereits 30 Dpins.
Natürlich kann man auch gleich mit der erneuten Erfindung des Rades anfangen...
Lesezeichen