Forum: Mikrocontroller und Digitale Elektronik Rapsberry PI - Programmierung


von Henry (Gast)


Lesenswert?

Hi Zusammen,

ich hätte eine Frage zu Mikro Computer und MikroController. Meinen STM32 
habe ich unter Windows ganz normal im Editor programmiert. Mir ist 
jedsoch aufgefallen, dass die Programmierung und das ansprechen von I2C 
oder anderen Anschlüssen direkt über Linux, das auf dem Mikro Computer 
installiert ist, wesentlich einfacher ist, da man direkt über das 
TerminalFenster programmieren kann. Nur leuchtet mir jetzt das ganze 
nicht ein, warum das anders ist.

In diesem Tutorial zu BeagleBone 
http://www.koervernet.de/79-elektronik/97-beaglebone wird beispielsweise 
ohne IDe programmiert, direkt vom Terminal , verstehe den Unterschied 
nicht ....

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Denk mal über den Unterschied nach, den es macht, ob man ein Programm 
für ein Betriebssystem schreibt, das auf einem Computer läuft, oder ob 
man ein Programm für einen Computer ohne jedes Betriebssystem 
schreibt.

von Karl H. (kbuchegg)


Lesenswert?

Und denk auch mal darüber nach, ob es wohl sinnvoll sein wird, mit einem 
Betriebssystem gleich mal einige vorgefertigte Hilfsprogramme 
mitzuliefern, mit deinen ein Anwender ohne selbst programmieren zu 
müssen, Standardaufgaben lösen kann.

Denn: 'programmiert' wird da in deinen Links gar nichts. Da wird 
gezeigt, wie man mit mitgelieferten Standardprogrammen oft benötigte 
Aufgaben bewältigen kann.

Auf dem Betriebssystem läuft ein Kommand Line Interface, in dem der 
Benutzer Kommandos eingeben kann. Einige dieser Kommandos sind 
möglicherweise in diesem Kommand Line Interface eingebaut, andere führen 
einfach nur dazu, dass Programme gestartet werden und denen die 
restlichen Argumente von der Benutzereingabe übergeben werden. Und die 
machen dann etwas.

Das alles ist aber etwas völlig anderes, als wie wenn du ohne 
irgendwelchen Unterbau direkt auf der Hardware programmierst. Da 
schreibst du ein echtes Programm, dass dann auch läuft. Niemand hindert 
dich daran, dass du in deinem Programm zb. eine Serielle Schnittstelle 
einbaust, so dass sich dein Endbenutzer mit deinem Programm per Terminal 
verbinden kann. Dein Endbenutzer kann dort von dir vorgegebene 
'Kommandos' eingeben, die dein Programm empfängt und ausführt. Hat dein 
Endbenutzer damit irgendetwas programmiert? Nein, hat er nicht. Du hast 
das Programm geschrieben und was du im Programm nicht vorgesehen hast, 
dass kann dein Endbenutzer per Terminalverbindung auch nicht anfordern.

So ähnlich ist die Situation auch, wenn du dich auf den Pi per Terminal 
verbindest. Nur dass dort die Kommando Auswertung wesentlich 
ausgefuchster ist, als du das jemals in deinem STM32 selber 
ausprogrammieren wirst und auch die Möglichkeiten (weil die Kommand-Line 
andere Programme starten kann, die von einem Massenspeicher nachgeladen 
werden) um einiges höher und vielfältiger sind, als du das in deinem 
STM32 jemals implementieren wirst.

von Karl H. (kbuchegg)


Lesenswert?

Deine Verwirrung rührt daher, dass du für beides das Wort 
'programmieren' benutzt. Der Unterschied zwischen den beiden Tätigkeiten 
ist aber einer wie Tag und Nacht.

Das eine ist das 'programmieren' eines Videorekorders, indem du auf in 
deinem Programm dich um die Hardware kümmerst, Motoren startest und 
stops, über Zeiten Buch führst, Empfänger umschaltest und was es 
innerhalb eines Videorekorders sonst noch so alles zu tun gibt, damit 
eine Sendung aufgezeichnet werden kann.
Das andere ist das 'programmieren' eines Videorekorders, indem sich ein 
Benutzer an seiner Fernbedienung abmüht, die Startzeit, Endzeit und den 
Kanal einer aufzuzeichnenden Sendung in die von deinem Programm 
angezeigten Felder einzutragen. Seine 'Programmierung' funktioniert nur 
deshalb, weil deine Video Rekorder Programmierung die Felder anzeigt, 
auswertet und das was der Endbenutzer eingetragen hat in entsprechende 
interne Abläufe umsetzt.

Auch wenn wir in beiden Fällen umgangssprachlich von 'programmieren' 
sprechen, so ist doch klar, dass es sich hier um 2 völlig verschiedene 
Vorgänge auf komplett unterschiedlichen Ebenen handelt.

von Joachim B. (jar)


Lesenswert?

Karl Heinz schrieb:
> Das eine ist das 'programmieren' eines Videorekorders,

bevor die Frage kommt was ein Videorecorder ist hättest besser HD oder 
DVD/BR Recorder geschrieben :-)

von Karl H. (kbuchegg)


Lesenswert?

Joachim B. schrieb:
> Karl Heinz schrieb:
>> Das eine ist das 'programmieren' eines Videorekorders,
>
> bevor die Frage kommt was ein Videorecorder ist hättest besser HD oder
> DVD/BR Recorder geschrieben :-)

:-)
Ist deren 'Programmieren' auch so eine Wissenschaft, wie das mit 
Videorekordern war? (Ich hab sowas nicht).
Ich hab gestandene Ingenieure bei deren 'Programmierung' regelrecht 
verzweifeln gesehen :-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Karl Heinz schrieb:
> wie das mit Videorekordern war?

Dafür hatten sie zum Schluss "ShowView" erfunden, damit ging das so 
halbwegs.

> Ist deren 'Programmieren' auch so eine Wissenschaft

Muss nicht sein; brauchbare DVB-irgendwas-Receiver stellen den EPG dar 
und können Sendungen daraus mit der Fernbedienung auswählen lassen. 
Fertig.

Keine Eingabe von Zeiten, Programmnummern etc.

Die Betonung allerdings liegt auf brauchbar.

(Als mich Fernsehen noch etwas mehr interessierte, hatte ich mir einen 
linuxbasierten DVB-S-Recorder zusammengestellt, auf dem die 
c't-DVR-Distribution lief. Damit konnte man sogar den Reklamedreck 
nachträglich aus den Sendungen entfernen, die automatische Erkennung 
funktionierte recht gut.)

von npn (Gast)


Lesenswert?

@TO: Kannst du aus deinem 'Rapsberry' auch Öl pressen? :-)

von Henry (Gast)


Lesenswert?

Ich kann dich bei raspberry oder auch anderen MikroComputern doch auch 
über die Bibliotheken auf die Schnittstellen wir I2C zugreifen oder 
beispielsweise ein Lauflicht programmieren. Also kann ich hier doch wie 
bei mikroController auch programmieren. Und das Terminal nutze ich 
demnach, um auf fertigen Code zuzugreifen,um beispielsweise die LEDs zu 
aktivieren. Etc..

von Joachim B. (jar)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Dafür hatten sie zum Schluss "ShowView" erfunden, damit ging das so
> halbwegs.

hat meinen Vater fast verzweifeln lassen, solange die Sendernummern 
nicht stimmen oder mal wieder umgestellt wurden oder der programmierte 
Krimi ausfiel weil das Programm geändert wurde, mein Vater hätte statt 
nix lieber die Ersatzsendung gesehen, also wurde showview wieder 
"verbannt" weil nur Startzeit und Stopzeit für eine Aufnahme sorgt.

Rufus Τ. Firefly schrieb:
> brauchbare DVB-irgendwas-Receiver stellen den EPG

EPG wurde mir mit dem TV verkauft und kurz nach dem Kauf wollte die 
Kirchgrupe den Service nicht mehr anbieten, EPG war am TV nicht mehr 
nutzbar.

Rufus Τ. Firefly schrieb:
> Die Betonung allerdings liegt auf brauchbar.

grad noch die Kurve bekommen? :-)

Henry schrieb:
> Ich kann dich bei raspberry oder auch anderen MikroComputern doch auch
> über die Bibliotheken auf die Schnittstellen wir I2C zugreifen oder
> beispielsweise ein Lauflicht programmieren.

OK dann zeige mal mit einem nackten AVR oder PIC vom Distributor, da 
würde ich gerne mal dein Lauflicht sehen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> kurz nach dem Kauf wollte die Kirchgrupe den Service nicht mehr
> anbieten, EPG war am TV nicht mehr nutzbar.

Meine Glotze nutze ich zwar nicht oft, aber da funktioniert EPG nach wie 
vor. Hängt an einer Schüssel, empfängt Astra.

von Joachim B. (jar)


Lesenswert?

Rufus Τ. Firefly schrieb:
> aber da funktioniert EPG nach wie
> vor.

jetzt ja im Kabel auch wieder durch digital, aber da war vor DVB-C ne 
lange Pause drin.

Aber EPG ist mir so schnurz, ich programmiere den HD Rekorder lieber per 
Timer.

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.