Hallo,
über den Sinn dieses Vorhabens kann man natürlich lange diskutieren aber
da ich nur PHP kann wollte ich mal fragen ob es eine Möglichkeit gibt
Microcontroller mit PHP zu programmieren.
Wenn nicht welche Sprache für Microcontroller kommt PHP am nähesten ?
Danke schonmal für eure Hilfe.
Patrick schrieb:> über den Sinn dieses Vorhabens kann man natürlich lange diskutieren aber> da ich nur PHP kann wollte ich mal fragen ob es eine Möglichkeit gibt> Microcontroller mit PHP zu programmieren.
Nein. Dafür verwendet man C.
fchk
Im Prinzip kann man einen µC nur in Maschinensprache programmieren,
alles andere wird durch einen Compiler/Assembler in Maschinensprache
übersetzt. Man kann also in jeder Sprache für die man einen Compiler hat
programmieren.
Ich habe mich vor ca. 1 Jahr kurz mit PHP beschäftigt und dabei sind mir
viele Ähnlichkeiten mit C aufgefallen.
Das ist eine Frage der Interpretation:
Nimm einen µC mit aufgesetztem Linux. Die gibt's wie Sand am Meer.
Da findest Du bestimmt auch einen funktionierenden Compiler.
Direkt und auf unterster Ebene, so wie es hier üblicherweise verstanden
wird:
Nein, ist auch nicht besonders sinnvoll. Viele µC würden schon bei den
nötigen Bibliotheken einen Schluckauf bekommen.
Willst du eigentlich das Programm für den µC in PHP schreiben oder auf
dem µC eine Website hosten die PHP verwenden?
Für µC würde ich C empfehlen.
Zitat Wikipedia[1]:
> PHP (rekursives Akronym und Backronym für „PHP: Hypertext> Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine> Skriptsprache mit einer an C und Perl angelehnten Syntax
^
|
[1] https://de.wikipedia.org/wiki/PHP
Patrick schrieb:> da ich nur PHP kann wollte ich mal
Was hindert Dich daran eine besser geeignete Sprache zu lernen? Du hast
Doch auch irgendwann mal PHP gelernt, wenn also seitdem niemand
versehentlich den Schreibschutz an Deinem Gehirn aktiviert hat müssten
doch noch ein paar zusätzliche Sprachen reingehen, oder?
Ich merke schon mit meinem PHP komme ich nicht weit also werde ich
erstmal die Grundlagen von C lernen.
Ich dachte halt nur warum extra was neues lernen wenn es auch so geht,
aber dem ist ja wie es aussieht nicht der Fall.
Vielen dank für eure Hilfe
Für PHP brauchts schon ein Linux-geeignetes Board. Speicherverwaltung,
etc.
Die kleinen µC haben max. ein paar kB Speicher und keine Mechanismen für
eine dynamische Verwaltung. Da muss dann mindestens klar sein wie viel
Speicher eine Variable belegt (max. belegen kann). Bei PHP kann eine
Variable ja mal Boolean und dann wieder ein ganzes Buch sein.
Gibt reichlich einfache IDEs für µC (Arduino?). Um was zu lernen ist der
etwas schwerere Weg (C) aber sinnvoller.
Stephan
Patrick schrieb:> Hallo,>> über den Sinn dieses Vorhabens kann man natürlich lange diskutieren aber> da ich nur PHP kann wollte ich mal fragen ob es eine Möglichkeit gibt> Microcontroller mit PHP zu programmieren.
Wie ist die interruptbehamdlung in PHP realisiert? Kennt PHP ein
Equivalent zu volatile? Ist Inline-Assembler möglich? Gibt es eine PHP
standardbibliothek mit routinen wie sleep()?
MfG,
Patrick schrieb:> Ich merke schon mit meinem PHP komme ich nicht weit also werde ich> erstmal die Grundlagen von C lernen.>> Ich dachte halt nur warum extra was neues lernen wenn es auch so geht,> aber dem ist ja wie es aussieht nicht der Fall.>> Vielen dank für eure Hilfe
Abgesehen dass das Wissen über C nicht umsonst sein wird, allein schon
weil es deinen Horizont etwas erweitert, würde es genau so lange dauern
einen PHP-Interpreter/Compiler + µC-Architektur zu finden und zum laufen
zu bringen.
Wenn du eher Gelegenheitsprogrammierer bist und einen harten Einstieg
scheust, schau dir mal die Arduinos an. Die bieten dir auch die
Möglichkeit irgendwann mal tiefer einzusteigen ohne das bisherige Wissen
über den Haufen zu werden.
Wenn du schnell "Erfolge" haben willst nimm erstmal Arduino und dessen
IDE und spiel ein paar Beispiele von denen durch / und schreib da
"sketche" (c++). Ist extra einfach gehalten und c++ Klassen musst du da
nicht schreiben, dass haben die für dich gemacht. Du spielst dann mit
High-Level-Bibliotheken rum, hast dafür aber keine Ahnung wie der
Controller wirklich funktioniert, was z.B. ein Register ist...
Außderdem bist du an existierende Blibliotheken für die
Elektronik/Sensoren/Displays/Motor-Shields, die du verwenden willst
angewiesen, wenn du nicht tiefer einseigen willst und dir mal eben
selbst ne Bib. schreiben willst.
Ein Arduino ist nix weiter als ein AVR Board das so konzipiert ist, mit
dessen IDE zu funktioniern. Man kann ihn auch direkt mit avr-gcc
programmieren.
Vorsicht: Es gibt auch größere Arduinos, die keinen AVR drauf haben,
sondern ne ARM-Kanone oderso...
Also nehm den arduino nano v3 oder den Arduino Uno R3 (arduino clones
gibs auch günstig bei ebay aus china), je nachdem wo dir mehr einer nach
abgeht.
P.S. Arduinos werden hier von einigen runtergemacht wegen der ganzen
Noobs die hier ankommen und trivialprobleme haben weil sie ein riesiges
Halbwissen über uC und programmieren haben.
So nach dem Motto: Der bezeichnet sich als Autokenner und 'Profi', weil
er unfallfrei fährt und die Markennamen auswendig kennt, hat aber schon
keine Ahnung mehr, wie man ein Rad wechselt ohne Legotechnik-Anleitung
für siebenjährige dabei.
Fpga Kuechle schrieb:> Wie ist die interruptbehamdlung in PHP realisiert? Kennt PHP ein> Equivalent zu volatile? Ist Inline-Assembler möglich? Gibt es eine PHP> standardbibliothek mit routinen wie sleep()?
1. gar nicht
2. nein
3. nein
4. sleep() gibts, sleep() gibt Rechenzeit ans OS ab.
PHP kannst du knicken.
PHP ist mit Absicht Hardware fern geschrieben.
Es soll ja schließlich auf jedem Server dieser Welt laufen können.
PHP braucht ein zugrundeliegendes Betriebssystem, Linux (eigentlich ein
beliebiges UNIXOIDES System), Windows, Solaris ....
PHP is eine der katastrophösesten Sprachen, resp Impementierungen
ueberhaupt. Voll krass. Wenn ich auf einem Server eine brauchbare
Alternative haette, wuerde ich schreiend davon rennen.