Forum: Mikrocontroller und Digitale Elektronik Programmiersprachen auf µC kombinieren


von Samuel Z. (smuelzeh)


Lesenswert?

Hi,

ich habe eine Frage bezüglich der Programmiersprache C für 
mikrocontroller.
Ist es möglich in den code einer C-Datei auch HTML, CSS und weitere 
Sprachen zu integrieren, um auf einem µC eine Website laufen zu lassen 
und möglichst auch über ein Display anzeigen zu lassen.

Wenn das möglich wäre müsste ich nicht nochmal eine Programmiersprache 
lernen, oder verstehe ich das falsch? Wie kann ich alternativ ein 
hochauflösliches, mehrfarbiges Display programmieren, falls das nicht 
geht?

Würde mich sehr über hilfreiche Antworten freuen. Ich hoffe meine Frage 
war verständlich.

Grüßle aus meiner mini-Werkstatt :-)

von Der Bonzz (Gast)


Lesenswert?

Du vermischt da etwas. Ein Webserver spult irgendwelchen Code auf dem 
Server selbst ab, und generiert HTML Seiten, die ein Browser auf der 
client Maschine darstellt. CSS ist eine Anzeige Anweisungs Methode fuer 
HTML.

von C-Anfänger (Gast)


Lesenswert?

Samuel Z. schrieb:
> Wie kann ich alternativ ein
> hochauflösliches,

Du meinst sicher hochauflösendes, denn es soll sich ja nicht selbst 
auflösen. ;-)

> mehrfarbiges Display programmieren, falls das nicht
> geht?

Damit es anschließend Webseiten (HTML, CSS, ...) anzeigen kann, brauchst 
Du einen leistungsfähigen Controller, den Du in C, Assembler oder einer 
anderen geeigneten Programmiersprache programmierst und der dann das 
Display steuert. Displays werden üblicherweise nicht mit HTML-Befehlen 
gesteuert, sondern Pixel für Pixel mit Anzeigedaten gefüttert, bei etwas 
besseren sind auch erweiterte Funktionen (Kreise, Linien, Text, usw.) 
denkbar. Das hat mit HTML nichts zu tun.


> Ist es möglich in den code einer C-Datei auch HTML, CSS und weitere
> Sprachen zu integrieren, um auf einem µC eine Website laufen zu lassen
> und möglichst auch über ein Display anzeigen zu lassen.

Grundsätzlich wäre es auch möglich, mehrere Programmiersprachen zu 
kombinieren und deren übersetzte Dateien zu einem Programm 
zusammenzulinken. Aber das ist nicht so einfach, wie Du es Dir 
vermutlich vorstellst.

Natürlich kann man Inhalte einer Website (HTML, CSS, ...) auch in den 
C-Code integrieren, aber dieser C-Code muß dann auch in der Lage sein, 
diese HTML-Anweisungen passend auf dem Display auszugeben.

Wenn das Display nicht schon eigene Intelligenz zum Anzeigen von HTML 
hat, (dann heißt es eher Smartphone oder Tab ;-) ist es nicht so 
möglich, was Du Dir vermutlich vorstellst.

von Georg (Gast)


Lesenswert?

Samuel Z. schrieb:
> auch HTML, CSS und weitere
> Sprachen zu integrieren

Das ist supereinfach. Zunächst brauchst du ein grafikfähiges 
Betriebssystem wie Windows oder Android auf deinem Controller, darauf 
läuft dann ein Browser wie Chrome oder Firefox, und der kann dann HTML 
darstellen.

Georg

von Samuel Z. (smuelzeh)


Lesenswert?

du hast die Frage nicht verstanden

von Samuel Z. (smuelzeh)


Lesenswert?

C-Anfänger schrieb:
>
> Du meinst sicher hochauflösendes, denn es soll sich ja nicht selbst
> auflösen. ;-)

mein Deutsch ist manchmal etwas zu einfach gedacht :-)

>
> Damit es anschließend Webseiten (HTML, CSS, ...) anzeigen kann, brauchst
> Du einen leistungsfähigen Controller, den Du in C, Assembler oder einer
> anderen geeigneten Programmiersprache programmierst und der dann das
> Display steuert. Displays werden üblicherweise nicht mit HTML-Befehlen
> gesteuert, sondern Pixel für Pixel mit Anzeigedaten gefüttert, bei etwas
> besseren sind auch erweiterte Funktionen (Kreise, Linien, Text, usw.)
> denkbar. Das hat mit HTML nichts zu tun.

das war nämlich die Idee dieses ganze Getue zu umgehen. Dass das alles 
ein Prozessor verbunden mit flashbausteinen übersetzen kann.

>
> Grundsätzlich wäre es auch möglich, mehrere Programmiersprachen zu
> kombinieren und deren übersetzte Dateien zu einem Programm
> zusammenzulinken. Aber das ist nicht so einfach, wie Du es Dir
> vermutlich vorstellst.

ich könnte es vllt. in eine Datenbank (als Wortfolgen) laden und so 
einem anderem Kontroller weiter geben auf c-basis und es dann mit einem 
extra kompilierendem chip lesbar machen.
Das heißt: verpacken in c-code, schicken an einen extra Chip, dieser 
packt es wieder aus, liest das html/css und gibt nur Displaybefehle 
weiter an das Display.

>
> Natürlich kann man Inhalte einer Website (HTML, CSS, ...) auch in den
> C-Code integrieren, aber dieser C-Code muß dann auch in der Lage sein,
> diese HTML-Anweisungen passend auf dem Display auszugeben.

genau das würde ich dann mit einem extra Prozessor machen, der das dann 
auch verarbeiten kann :-)

>
> Wenn das Display nicht schon eigene Intelligenz zum Anzeigen von HTML
> hat, (dann heißt es eher Smartphone oder Tab ;-) ist es nicht so
> möglich, was Du Dir vermutlich vorstellst.

ich brauche tatsächlich noch andere Hilfs-Prozessoren dazu. Danke für 
deine Antwort. Hat mir etwas weiter geholfen. Was nicht möglich ist muss 
möglich werden :-)

von Georg (Gast)


Lesenswert?

Samuel Z. schrieb:
> du hast die Frage nicht verstanden

Du hast die Antwort nicht verstanden.

Samuel Z. schrieb:
> das war nämlich die Idee dieses ganze Getue zu umgehen.

Das ist Blödsinn: ein Programm, das HTML darstellt IST ein Browser, per 
definitionem. Und ist so komplex wie ein Browser.

C-Anfänger schrieb im Beitrag #4403727:
> ... und Du Dich mit dieser Reaktion als Troll geoutet.

Ja, das ist wohl so, also keine weiteren Antworten.

Georg

von Holger S. (tontechniker)


Lesenswert?

C und HTML mischen ist nicht möglich.
Entweder Mikrocontroller mit C, oder einen webserver mit HTML. Das sind 
zwei grundsätzlich andere Anwendungen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sind hier nur Trolle unterwegs?

Natürlich kann man einen Webserver in C programmieren, und das geht 
sogar auf einem AVR.

von Holger S. (tontechniker)


Lesenswert?

Also mischen? C und HTML? Wusste ich nicht....

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Holger S. schrieb:
> Also mischen? C und HTML? Wusste ich nicht....
1
#include <stdio.h>
2
3
int
4
main(void)
5
{
6
   printf("<html>\n<body>\n");
7
   printf("<h1>Testseite</h1>\n");
8
   printf("<p>Das ist nur ein Test.  Hier passiert nichts.</p>\n");
9
   printf("</body>\n</html>\n");
10
   return 0;
11
}

von rüdiger (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Natürlich kann man einen Webserver in C programmieren, und das geht
> sogar auf einem AVR.

Nur will er die dann auch noch 'irgendwie' auf einem Display anzeigen 
lassen. Was er überhaupt vor hat, hat er natürlich nicht verraten.

Nimmt man beispielsweise ein Raspberry und lässt da den Browser was 
anzeigen, ist das schnell gemacht.
Will man aber irgendwie was in C machen, das mit HTML und CSS was mit 
nem µC anzeigt, lässt das sehr viel Interpretationsspielraum...

von Der Bonzz (Gast)


Lesenswert?

Der Poster soll ein Tablet nehmen, das kann das alles schon. Das macht 
aus HTML Code eine Webseite. Irgendwelche Eigenbauten sind sehr 
aufwendig.

von MWS (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Sind hier nur Trolle unterwegs?
>
> Natürlich kann man einen Webserver in C programmieren, und das geht
> sogar auf einem AVR.

Der TO möchte Html verwenden, um ein Display anzusteuern, was 
prinzipiell ja auch ginge, indem er einen Browser programmiert, der sein 
per C generiertes und per Webserver vorgehaltenes Html dann anzeigt. Ist 
aber das Pferd von hinten in's Auge geschossen, da offenbar beides lokal 
geschehen soll.

Samuel Z. schrieb:
> Wie kann ich alternativ ein
> hochauflösliches, mehrfarbiges Display programmieren, falls das nicht
> geht?

Ein Browser auf Linux, der dann über einen Webserver bedient wird, wär' 
auch noch eine Möglichkeit, aber dann kann man's auch über ein Programm 
mit grafischer Oberfläche machen.

Der Hinweis auf einen Webserver in C ist bei der unbedarften 
Fragestellung des TE schon recht weit entfernt. Wer trollt den da? ;D

Abgesehen davon, so wie der TE fragt und auch dem Mangel an gegebener 
Information über das zu verwendende Display ist ihm keine dieser 
Lösungen zuzutrauen.

Es gibt seriell bedienbare Displays mit Eigenintelligenz, das wäre eher 
die geeignete Wahl. Oder eben ein RasPi, Phyton mit entsprechender GUI, 
in C gibt's da sicher auch etwas.

von avr (Gast)


Lesenswert?

Jörg W. schrieb:
> Holger S. schrieb:
>> Also mischen? C und HTML? Wusste ich nicht....
> #include <stdio.h>
>
> int
> main(void)
> {
>    printf("<html>\n<body>\n");
>    printf("<h1>Testseite</h1>\n");
>    printf("<p>Das ist nur ein Test.  Hier passiert nichts.</p>\n");
>    printf("</body>\n</html>\n");
>    return 0;
> }

Was ist daran gemischt? Man kann mit jeder Programmiersprache den Code 
einer anderen ausgeben. Das ist aber nicht mischen, da dabei nur eine 
Sprache ausgeführt wird. Ich kann auch eine Webseite erzeugen auf der 
C-Code zu lesen ist? Hab ich dann 2 Sprachen gemischt?

von google (Gast)


Lesenswert?

Locker bleiben, der TO sprach von Integrieren, nicht von Mischen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.