Ja - allerdings gibt es auch Micropython welches ja dafür gemacht wurde, damit man mit solch einer Sprache auch entsprechend konfigurierte MC ansetzen kann.
Ja - allerdings gibt es auch Micropython welches ja dafür gemacht wurde, damit man mit solch einer Sprache auch entsprechend konfigurierte MC ansetzen kann.
da läuft auf dem µC dann eben ein Micropython Interpreter, der nur weniger kann als die Vollversion, aber auch die Script-Befehle einzeln in Maschinencode übersetzt.
Wie bei Java, da gibt es ebenfalls verschieden leistungsfähige Interpreter- und JIT-Compiler-Engines, je nach Devices, auf denen es laufen soll.
![]()
Wobei es auch für Java mittlerweile eine Mikrocontrollerversion gibt-nennt sich Embedded Java.
jap, und auch für Arduino gibt es ja Java, und für Lego RCX, NXT und -ntl- EV3.
Man muss den Interpreter/die VM nur eben irgendwie drauf kriegen.
Geändert von HaWe (30.03.2018 um 18:55 Uhr)
µC's mit Interpretersprache und Laufzeitumgebung gibt es ja schon länger (Basic Stamp 1992, C-Control 1994).
Das Problem ist halt, das zur Laufzeit der Interpreter läuft und das Befehlsscript verarbeitet. Damit werden die Systeme unglaublich langsam.
Da ich mit dem Rugwarrior vom MIT schon mit Interactive-C gearbeitet hatte, habe ich mir damals mal eine C-Control I von Conrad geholt und das selbe Programm einmal im CCBASIC (Interpreter) und in Interactive-C (Compiler) geschrieben. Da lagen Welten zwichen der erreichbaren Geschwindigkeit.
Wenn man das gegenüberstellt, fragt man sich warum braucht man Phyton auf einem µC?
Das ist wie bei einem Rennwagen (der nur für das eine Entwickelt wurde) bei der Hälfte Zylinder die Zündkerze rauszuschrauben und dann Damit zu fahren.
Kann man machen, aber ist es sinnvoll?
je nach VM und Programm (Java, C#/ Mono, Lego-VMs, Python) ist nativer Code 1-1000 mal schneller als VMs.
Gerade der Java-JIT Compiler und auch C#/Mono sind dabei fast ebenso schnell wie native Linux Executables - Python ist auf dem Pi durchaus schon mal 1000x langsamer.
Vorteil: oft können gerade mit Python extrem umfangreiche Bibliotheken super-einfach eingebunden werden, mit C++ vergleichsweise kaum zu erreichen.
Das gilt aber sicher eher für Linux, weniger für embedded VMs für MCUs mit wenig Flash und RAM.
... oder meinst du µCs, bei denen Python schon im Auslieferungszustand aufgespielt ist?
Da kenne ich selber nur ESP12-E/F Module von Wemos https://www.ebay.de/itm/WeMos-D1-MIN...IAAOSwe09Zn8yV
und den Adafruit Feather M0 Express mit CircuitPython https://learn.adafruit.com/adafruit-...ython/overview
ansonsten kenne ich nur die MicroPython Download Page für div. MCUs zum selber-aufspielen: http://micropython.org/download
(esp8266, ESP32, WiPy, STM32F4xxxx, Nucleo, Espruino)
Lesezeichen