Forum: Mikrocontroller und Digitale Elektronik ARDUINO oder OLIMEX und spätermal, was dann ?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

packe das mal hier rein, wenns der falsche Ort ist Bitte ich um 
Verschiebung.


Grundsatzfrage:

ist ein ARDUINO, egal welcher jetzt, das original und ein OLIMEX eben 
NUR ein Nachbau/Clon?

geht mir darum das ich mit der Programmierung von µC anfangen möchte und 
es ja zig Möglichkeiten dafür gibt; ARM, AVR, MSP430 usw.
Habe nir die Wikis jeder einzelnen durchgelesen und finde den ARDUINO 
jetzt nicht schlecht. Aber es gibt ja zig verschiedene. Da verliert man 
als Anfänger schon den Überblick, vorallem wenn man nicht weiss worauf 
es ankommt.

Worauf kommt es an, bei der Auswahl, auf Schnittstellen wie z.B SPI, 
I2C, UART usw. oder auf was genau?

da ich nie programmiert habe, finde ich einen ARDUINO ganz gut, weiss 
jetzt aber nicht obs ein OLIMEX auch tut.
Olimex hat ebenfalls diverse Boards/Shields und Zusatzmodule.
Auch von ARDUINO gibts die, und von Drittanbietern ebenso...


Ziel:

ich möchte später mal mit dem µC diverse Sensoren ansteuern bzw. deren 
Signale loggen und auch grafisch darstellen mittels (eigener) Software.

Wie gesagt, bin was das betrifft, absoluter Anfänger, habe Null Ahnung 
vom programmieren und muss mich da auch einlesen und einarbeiten. Ist 
mir alles Bewusst. Aber ich wills einfach versuchen, weil es mich 
interssiert :-)

Habt ein Nachsehen mit mir!
Und bitte keine "Battles" führen bzgl. ARDUINO ist besser als.., oder 
ein AVR kannst besser als usw.

Vielen Dank für Eure Tips und Hilfe im Vorraus

Heinz

: Bearbeitet durch User
von OldMan (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Aus meiner Sicht ist es besser Du fängst mit einem Board von Atmel an.
So etwas wie dieses hier: 
http://www.reichelt.de/AVR-STK-500/3/index.html?&ACTION=3&LA=446&ARTICLE=34093&artnr=AVR+STK+500&SEARCH=stk500
Da lernst Du alles von Grund auf.
Die Arduinos sind zwar ganz nett, aber helfen für das grundlegende 
Verständnis nicht in der Tiefe wie es so ein Set von Atmel offeriert.
Und, Du hast alles was Du für den Anfang benötigst in einem Paket.
Persönlich würde ich nicht mit einem Arduino anfangen. Ich will immer 
wissen, was Sache ist und nichts fertiges vorgesetzt bekommen.
Das ist meine Sicht dazu.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
da hast du natürlich Recht, wenn man es von der Picke auf lernt ist das 
meist besser...


Hmmm

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:

> Worauf kommt es an

IMHO kommt es beim ersten darauf an, dass er nicht zu kompliziert ist 
und das du guten Support hast, wenn es zu Schwierigkeiten kommt.

> da ich nie programmiert habe

Dann hol dir eine freie Entwicklungsumgebung für den PC (ja, du hast 
richtig gehört), besorg dir ein C-Lehrbuch und fang an, das auf dem PC 
durchzuarbeiten.

Eine Projektidee stellst du erst mal hinten an, bis du einen Grundstock 
an Wissen, Können und Techniken beisammen hast.
Dann klappts auch mit dem Umstieg in die µC-Programmierung problemlos.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:
> Heinz L. schrieb:
>
>> Worauf kommt es an
>
> IMHO kommt es beim ersten darauf an, dass er nicht zu kompliziert ist
> und das du guten Support hast, wenn es zu Schwierigkeiten kommt.
>
>> da ich nie programmiert habe
>
> Dann hol dir eine freie Entwicklungsumgebung für den PC (ja, du hast
> richtig gehört), besorg dir ein C-Lehrbuch und fang an, das auf dem PC
> durchzuarbeiten.
>
> Eine Projektidee stellst du erst mal hinten an, bis du einen Grundstock
> an Wissen, Können und Techniken beisammen hast.
> Dann klappts auch mit dem Umstieg in die µC-Programmierung problemlos.

Hmm,

Support gibts ja hier ;-) und ich denke nicht schlechten...

Ok, freie IDE für PC hört sich gut an, kannst was empfehlen und das 
dazugehörige Buch ?

Grundsätzlich redet ihr mir also bisher ein ARDUINO oder vergleichbares 
aus?

: Bearbeitet durch User
von OldMan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:
> Dann hol dir eine freie Entwicklungsumgebung für den PC

Da kann ich Karl Heinz nur zustimmen. Ein wirklich komplettes aber 
schlankes Paket gibt es hier: http://www.cs.virginia.edu/~lcc-win32/
Funktioniert einwandfrei und hat eine sehr gute Hilfefunktion, usw.
Ideal für den Anfänger.

von Heinz L. (luli)


Bewertung
1 lesenswert
nicht lesenswert
OldMan schrieb:
> Karl Heinz schrieb:
>> Dann hol dir eine freie Entwicklungsumgebung für den PC
>
> Da kann ich Karl Heinz nur zustimmen. Ein wirklich komplettes aber
> schlankes Paket gibt es hier: http://www.cs.virginia.edu/~lcc-win32/
> Funktioniert einwandfrei und hat eine sehr gute Hilfefunktion, usw.
> Ideal für den Anfänger.

mit deutscher Hilfe/Support wäre es sicher angenehmer

von OldMan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> dazugehörige Buch ?

http://www.amazon.de/Programming-Language-Prentice-Hall-Software/dp/0131103628
Weiß jetzt nicht, ob es das auch in deutscher Sprache gibt.
Aber dieses Buch ist die C-Bibel schlechthin.

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:

> Ok, freie IDE für PC hört sich gut an, kanst was empfehlen und das Buch
> dazu?

http://en.wikipedia.org/wiki/List_of_compilers#C_compilers

Such dir was aus.
Das was in der C Literatur auf dich zukommt, ist mit allen machbar. C 
ist eine genormte Sprache.

Literatur
Wie immer der Klassiker "Kernighan/Ritchie Programmieren in C"
Gibt aber auch noch vieles andere. Meine Empfehlung wäre in eine 
Buchhandlung zu gehen und einfach mal zu schmöckern mit welchem 
Schreibstil man zurecht kommt.

http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

> Grundsätzlich redet ihr mir also bisher ein ARDUINO oder vergleichbares
> aus?

Ich persönlich seh das nicht so eng. Wichtig ist, dass du nicht beim 
Arduino Framework stehen bleibst und dich so recht und schlecht da 
durchhangelst. Ordentlich die Sprache lernen, inklusive Fallen und 
Ungereimtheiten. Das was die Arduino Programmierer Fraktion des öfteren 
hier an Fragen abliefert ist leider sehr oft auf dem Niveau, bei dem in 
einem Medizinforum gefragt wird, wie man ein Pflaster aufklebt.
Das muss nicht sein. Derartige Grundlagen müssen sitzen, ehe man in die 
Projektphase eingehen will. Oder was würdest du von einem 'Arztanwärter' 
halten, der nach Afrika gehen will um Menschen zu helfen und kein 
Pflaster aufkleben kann?

von OldMan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> mit deutscher Hilfe/Support

Wenn man programmieren will und sich mit uC befassen will, dann kommt 
man um die englische Sprache eigentlich nicht herum.
Meine Erfahrung ist, dass die Überseztungen teilweise haarsträubende 
Fehler haben. Und die Datenblätter gibt es (fast) ausschliesslich in 
Englisch.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
OldMan schrieb:
> Heinz L. schrieb:
>> mit deutscher Hilfe/Support
>
> Wenn man programmieren will und sich mit uC befassen will, dann kommt
> man um die englische Sprache eigentlich nicht herum.
> Meine Erfahrung ist, dass die Überseztungen teilweise haarsträubende
> Fehler haben. Und die Datenblätter gibt es (fast) ausschliesslich in
> Englisch.

da hast wohl Recht

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
OldMan schrieb:

> Meine Erfahrung ist, dass die Überseztungen teilweise haarsträubende
> Fehler haben.


:-)
Wenns nur das wäre.
Teilweise bin ich gezwungen, in einem deutschen Developer Studio zu 
arbeiten. Fehlermeldungen muss ich teilweise auf Englisch 
rückübersetzen, um sie zu verstehen.

Um Englisch kommt man nicht rum. Ist nun mal die Fachsprache.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:
> Heinz L. schrieb:
>
>> Ok, freie IDE für PC hört sich gut an, kanst was empfehlen und das Buch
>> dazu?
>
> http://en.wikipedia.org/wiki/List_of_compilers#C_compilers
>
> Such dir was aus.
> Das was in der C Literatur auf dich zukommt, ist mit allen machbar. C
> ist eine genormte Sprache.
>
> Literatur
> Wie immer der Klassiker "Kernighan/Ritchie Programmieren in C"
> Gibt aber auch noch vieles andere. Meine Empfehlung wäre in eine
> Buchhandlung zu gehen und einfach mal zu schmöckern mit welchem
> Schreibstil man zurecht kommt.
>
> http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
>
>> Grundsätzlich redet ihr mir also bisher ein ARDUINO oder vergleichbares
>> aus?
>
> Ich persönlich seh das nicht so eng. Wichtig ist, dass du nicht beim
> Arduino Framework stehen bleibst und dich so recht und schlecht da
> durchhangelst. Ordentlich die Sprache lernen, inklusive Fallen und
> Ungereimtheiten. Das was die Arduino Programmierer Fraktion des öfteren
> hier an Fragen abliefert ist leider sehr oft auf dem Niveau, bei dem in
> einem Medizinforum gefragt wird, wie man ein Pflaster aufklebt.
> Das muss nicht sein. Derartige Grundlagen müssen sitzen, ehe man in die
> Projektphase eingehen will. Oder was würdest du von einem 'Arztanwärter'
> halten, der nach Afrika gehen will um Menschen zu helfen und kein
> Pflaster aufkleben kann?

OK Danke

und warum C und nicht gleich C++

Buch werde ich sicher im Netz was passendens für mich finden

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
ich hatte mir das mit einem ARDUINO oder eben einem anderen 
Evaluationboard doch etwas einfacher vorgestellt, da kann ma ja direkt 
das Ergebnis dann sehen, ob geht oder nicht..  so das Gefühl von 
Erfolgserlebnis... Hmm

wie ist das mit einer Windows-IDE, ok ich progranmmiere etwas, z.B eine 
LED An/Aus in C, und dann?  wie sehe ichs, obs tut oder nicht?

oder bin ich da jetzt komplett auf dem Holzweg?

: Bearbeitet durch User
von Kai M. (kai_mauer)


Bewertung
1 lesenswert
nicht lesenswert
Karl Heinz schrieb:
> C ist eine genormte Sprache.

Ja, ja -das sieht man oft daran, daß der gleiche Quelltext bei dem Einen 
klaglos vom Compiler übersetzt wird, bei dem Anderen aber Tonnen von 
Fehlermeldungen produziert.

Karl Heinz schrieb:
> Ordentlich die Sprache lernen, inklusive Fallen und
> Ungereimtheiten.

Wenn das eine genormte Sprache wäre müssten auch die Fallen und 
Ungereimtheiten genormt sein....

Karl Heinz schrieb:
> Das was die Arduino Programmierer Fraktion des öfteren
> hier an Fragen abliefert ist leider sehr oft auf dem Niveau, bei dem in
> einem Medizinforum gefragt wird, wie man ein Pflaster aufklebt.

Nein -das Problem ist hier ein völlig Anderes: Das o.g. Pflaster sieht 
heute aus wie ein Stück Isolierband, in einem anderen Compiler wie eine
Mullbinde und in einem Dritten wie ein Stück Würfelzucker.

@Heinz
Wenn Du nicht beruflich programmieren mußt, (wo man C voraussetzt)dann 
tu Dir das Kauderwelsch aus allen verfügbaren Sonderzeichen nicht an.
Ich meine das wirklich ernst.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Kai Mauer schrieb:
> @Heinz
> Wenn Du nicht beruflich programmieren mußt, (wo man C voraussetzt)dann
> tu Dir das Kauderwelsch aus allen verfügbaren Sonderzeichen nicht an.
> Ich meine das wirklich ernst.

nein muss ich nicht beruflich, aber mit deiner obigen Aussage ist mir 
nun auch nicht geholfen.

Und auch bei der Programmierung bin ich mir bewusst, dass es zig 
Möglichkeiten gibt um an das Ziel zukommen.

Aber wo starten?

von Kai M. (kai_mauer)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> Aber wo starten?

Du kannst, um Dir die Startschwierigkeiten zu ersparen, einen Arduino
benutzen. Als Programmiersprache würde ich Dir Bascom empfehlen. Es gibt 
gute Literatur in deutscher Sprache dafür, z.B.
"Programmieren der AVR-RISC-Mikrocontroller" von Claus Kühnel
"AVR-Mikrocontroller Lehrbuch" von Roland Walter

sowie diverse Internetforen, wie das "Roboternetz" oder das 
"Bascom-Forum"

Bascom selbst ist von der Seite des Herstellers ladbar.
http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=73&Itemid=54

Dort gibt es auch einen umfangreichen Fundus an fertigen Quelltexten.

von meierJulien (Gast)


Bewertung
0 lesenswert
nicht lesenswert
heißt das der Arduino ist mit jeder Sprache programmierbar? Also: C oder 
C++ oder eben BASCOM?

von Mr. K. (kaktus-)


Bewertung
0 lesenswert
nicht lesenswert
Besorge dir ein Steckbrett
http://www.aliexpress.com/item/1SET-3-3V-5V-MB102-Breadboard-power-module-MB-102-830-points-Solderless-Prototype-Bread/1982340348.html

Besorge dir einen Arduino Nano V3.0, und einen als Reserve
http://www.aliexpress.com/item/1PCS-Nano-3-0-controller-compatible-with-nano-CH340-USB-driver-NO-CABLE-NANO-V3-0/2035011839.html

Und eine kostenlose Entwicklungsumgebung deiner Wahl, mit einer 
möglichst einfachen Sprache, zum Beispiel
http://avr.myluna.de/doku.php?id=de:start
oder irgend etwas anderes

Jetzt hast du 10,25 Euro ausgegeben. Wenn du die Lust verlierst ist das 
kein Vermögen.  Wenn du damit Klar kommst, dann kannst du später auf 
weitere Sprachen lernen oder mehr Geld ausgeben.

von Martin S. (led_martin)


Bewertung
0 lesenswert
nicht lesenswert
Kai Mauer schrieb:
> @Heinz
> Wenn Du nicht beruflich programmieren mußt, (wo man C voraussetzt)dann
> tu Dir das Kauderwelsch aus allen verfügbaren Sonderzeichen nicht an.
> Ich meine das wirklich ernst.

Haben wir hier "C-hater 2"? :-)

Ich progammiere Atmel-Mikrocontroller vorallem in Assembler, aber auch 
in C. Wenn man C lernen möchte, ist der PC toll, meine erste Berührung 
mit C war auch auf dem PC. Aber zwischen dem PC und einem (kleinen) 
Mikrocontroller liegen Welten. Auf dem PC ist man weit weg von der 
Hardware, hat ein Betriebssystem, das Einem Vieles abnimmt, aber auch 
Vorgaben macht. Auf dem Mikrontroller ist man nahe an der Hardware, und 
das meist mit voller Absicht, man hat die vollständige Kontrolle, muß 
sich aber auch um viele Dinge kümmern, die auf dem PC vom 
Betriebssystem, oder einem Treiber erledigt werden. Auf dem PC kann man 
die (Programmier)Sprache lernen, aber nicht den Umgang mit 
steuerungstechnischen Problemen. Mikrokontrollerprogrammierung ist immer 
das Zusammenspiel von Software, und einer elektronischen Schaltung.

Mit freundlichen Grüßen - Martin

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
ja, schon klar. Danke für die Links.

Ist ein Olimex jetzt so viel ANDERST als ein Arduino?

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Martin Schlüter schrieb:
> Ich progammiere Atmel-Mikrocontroller vorallem in Assembler, aber auch
> in C. Wenn man C lernen möchte, ist der PC toll, meine erste Berührung
> mit C war auch auf dem PC. Aber zwischen dem PC und einem (kleinen)
> Mikrocontroller liegen Welten. Auf dem PC ist man weit weg von der
> Hardware, hat ein Betriebssystem, das Einem Vieles abnimmt, aber auch
> Vorgaben macht. Auf dem Mikrontroller ist man nahe an der Hardware, und
> das meist mit voller Absicht, man hat die vollständige Kontrolle, muß
> sich aber auch um viele Dinge kümmern, die auf dem PC vom
> Betriebssystem, oder einem Treiber erledigt werden. Auf dem PC kann man
> die (Programmier)Sprache lernen, aber nicht den Umgang mit
> steuerungstechnischen Problemen. Mikrokontrollerprogrammierung ist immer
> das Zusammenspiel von Software, und einer elektronischen Schaltung.
>
> Mit freundlichen Grüßen - Martin

und in Assembler programmiert man direkt in der Hardware? ist das so 
richtig?

von Martin S. (led_martin)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> und in Assembler programmiert man direkt in der Hardware? ist das so
> richtig?

So ganz trifft's nicht, mit jeder Programmiersprache, die direkten 
Zugriff auf Hardware-Register, die ja 'nur' besondere Speicherstellen 
sind, anbietet, kann man hardwarenah programmieren. Bei Assembler ist 
halt zwischen Quelltext, und dem was der Mikrocontroller ausführt, sehr 
wenig dazwischen. Nachteil ist, es braucht mehr Hirnleistung, ein 
Programm zu schreiben. C unterstützt die hardwarenahe Programmierung 
sehr gut. Auf einem modernen PC will man sich das nicht unbedingt 
antuen. Auf alten PCs (unter Dos) konnte man das durchaus machen, und 
z.B. eigene UART-, oder Grafik-Routinen schreiben. Bei der heutigen 
Komplexität der PC-Technik bin ich aber ganz froh, daß die Hersteller 
der Komponenten da Treiber zur Verfügung stellen.

Mit freundlichen Grüßen - Martin

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Danke, ist mir jetzt etwas klarer.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Mr. Kaktus schrieb:
> Und eine kostenlose Entwicklungsumgebung deiner Wahl, mit einer
> möglichst einfachen Sprache, zum Beispiel
> http://avr.myluna.de/doku.php?id=de:start
> oder irgend etwas anderes
>

Ok, klingt gut. Gibt's irgendwo ein Verzeichnis wo es freie 
IDE-Umgebungen gibt, mit direktem Vergleich, also Pro und Contras, bzgl. 
Features, Anfängerfreunichkeit, usw.

Das wäre nicht schlecht

von TriHexagon (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kai Mauer schrieb:
> Karl Heinz schrieb:
>> C ist eine genormte Sprache.
>
> Ja, ja -das sieht man oft daran, daß der gleiche Quelltext bei dem Einen
> klaglos vom Compiler übersetzt wird, bei dem Anderen aber Tonnen von
> Fehlermeldungen produziert.

Fehlermeldungen oder Warnungen? Manche Compiler zeigen standardmäßig 
nicht die Warnungen an. Zeig mir mal so einen Code.

Kai Mauer schrieb:
> Karl Heinz schrieb:
>> Ordentlich die Sprache lernen, inklusive Fallen und
>> Ungereimtheiten.
>
> Wenn das eine genormte Sprache wäre müssten auch die Fallen und
> Ungereimtheiten genormt sein....

Ja das sind sie auch. Aber es gibt nun mal im Standard Stellen, wo das 
Verhalten undefiniert ist, Z.B. Division durch Null. Dort bestimmt die 
Laufzeitumgebung/Compiler was passiert. Aber das ist meistens eben auch 
sinnvoll, denn C soll auf möglichst allen Plattformen laufen ohne einer 
VM.

Kai Mauer schrieb:
> @Heinz
> Wenn Du nicht beruflich programmieren mußt, (wo man C voraussetzt)dann
> tu Dir das Kauderwelsch aus allen verfügbaren Sonderzeichen nicht an.
> Ich meine das wirklich ernst.

Ich kann C nur empfehlen. So schlimm sind die Sonderzeichen wirklich 
nicht, erzeugen vor allem sehr viel weniger Hintergrundrauschen als 
ausgeschriebene Worte wie begin/end.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
kann ein Arduino-Chip mit jeder Sprache compiled werden, also C oder 
BASCOM usw? welche Sprachen kann ein Chip? wer gibt das vor? Der 
Hersteller?

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Kai Mauer schrieb:
> Karl Heinz schrieb:
>> C ist eine genormte Sprache.
>
> Ja, ja -das sieht man oft daran, daß der gleiche Quelltext bei dem Einen
> klaglos vom Compiler übersetzt wird, bei dem Anderen aber Tonnen von
> Fehlermeldungen produziert.

Das liegt aber daran, dass die Leute ihre Sprache nicht beherrschen.
Wer gut C kann schreibt auch Code, der problemlos von einem Compiler zum 
nächsten geht.

Das es immer wieder Dinge gibt, auf die man achten muss, weil sie nicht 
definitiv genormt sind, ist klar.

> Wenn das eine genormte Sprache wäre müssten auch die Fallen und
> Ungereimtheiten genormt sein....

Sind sie auch :-)
Jeder C Programmierer, der seine Sprache gelernt hat, weiss welche 
Zusicherungen er vom Standard bekommt und wo er sich in undefiniertes 
Terrain bewegt.

Damit sind wir wieder beim ersten Satz in dieser Antwort:
Das liegt aber daran, dass die Leute ihre Sprache nicht beherrschen.


> Nein -das Problem ist hier ein völlig Anderes: Das o.g. Pflaster sieht
> heute aus wie ein Stück Isolierband, in einem anderen Compiler wie eine
> Mullbinde und in einem Dritten wie ein Stück Würfelzucker.

Sorry. Aber du redest einfach nur Blech.

> tu Dir das Kauderwelsch aus allen verfügbaren Sonderzeichen nicht an.
> Ich meine das wirklich ernst.

Schön für dich.
Aber Unsinn bleibt Unsinn. Auch wenn du ihn ernst meinst.

Aber schlag mal eine Alternative vor?
Und nein. Assembler ist keine Alternative.

: Bearbeitet durch Moderator
von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> kann ein Arduino-Chip mit jeder Sprache compiled werden, also C oder
> BASCOM usw? welche Sprachen kann ein Chip? wer gibt das vor? Der
> Hersteller?

Der Chip an sich kann überhaupt keine Hochsprache.
Der Chip holt sich Opcodes aus dem Speicher und arbeitet die ab.

Die Arbeit eines Compilers besteht darin, die Schreibweise in 
Hochsprache in genau diese Opcodes zu übersetzen, die den gleichen 
Sachverhalt ausdrücken.

Compiler gibt es von Compilerschmieden, die den ganzen Tag nichts 
anderes tun, als darüber nachzudenken, wie sie diesen Überstzungsprozess 
noch besser machen können. Mit dem Chip, bzw. dessen Herstellung, hat 
das nichts zu tun.

: Bearbeitet durch Moderator
von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:
> Heinz L. schrieb:
>> kann ein Arduino-Chip mit jeder Sprache compiled werden, also C oder
>> BASCOM usw? welche Sprachen kann ein Chip? wer gibt das vor? Der
>> Hersteller?
>
> Der Chip an sich kann überhaupt keine Hochsprache.
> Der Chip holt sich Opcodes aus dem Speicher und arbeitet die ab.
>
> Die Arbeit eines Compilers besteht darin, die Schreibweise in
> Hochsprache in genau diese Opcodes zu übersetzen, die den gleichen
> Sachverhalt ausdrücken.

Ok, verstehe, also ist erstmal die Sprache egal, richtig? Ich kann in C 
oder BASCOM oder sonst einer aktuellen Sprache schreiben, der jeweilige 
Compiler richtet es, richtig?

: Bearbeitet durch User
von Gerald K. (geraldk)


Bewertung
0 lesenswert
nicht lesenswert
Ich finde, wenn jemand noch wenig bis gar keine Ahnung von 
Programmierung hat, sollte er besser mit dem Arduino beginnen.
Erstens ist die Unterstützung mit Libraries und Beispielen sehr gut und 
man kann mit wenigen Mittel schon viel erreichen.
Wenn man dazu noch ein Buch wie das von Bartmann hat "Die elektronische 
Welt mit Arduino entdecken" ist man schon auf einem guten Weg das ganze 
langsam zu verstehen und zwar Hardware und Software.
Ich würde, wie Mr. Kaktus, auch das Arduino Nano Board mit einem 
Steckbrett, ein paar 230 Ohm widerständen und ein paar LEDs anfangen.
An den LEDs kann man sehen ob das, was man programmiert hat auch 
funktioniert. Dann kann man diese auch mit PWM ansteuern und damit was 
über diese Technik lernen. Später kommen dann I2C und SPI mit Sensoren 
und SD-Karten Shield um einen Datalogger zu bauen.
Die Entwicklungsumgebung (IDE) für den Arduino bekommt man kostenlos bei 
arduino.cc. Diese ist auch sehr einfach gehalten, so dass sie ein 
Anfänger leicht verstehen kann.
Die Programmiersprache C lernt man dabei ganz nebenbei kennen.

von Kai M. (kai_mauer)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> kann ein Arduino-Chip mit jeder Sprache compiled werden, also C oder
> BASCOM usw?

Genau anders herum: Dem Chip ist es gleichgültig, mit welcher Sprache 
das Programm für ihn erstellt wird.
Wenn es einen Algol oder Lisp-Kompiler für die AVR gäbe, dann ginge das 
damit genauso.

Laß Dich nicht von dem Begriff "Arduino" verwirren. Das ist nur eine 
Bezeichnung für ein fertiges Board mit Kontroller, Spannungsregler und 
minimaler Beschaltung für den Betrieb des Kontrollers.

Stell Dir vor, es ist wie beim Auto: Es gibt Seat Ibiza und Hyundai 
Lantra.
Das ist nur die Hardware, fahren kann ich damit, aber Du genauso.

Das Kompilieren findet ja auf dem PC statt,
nicht auf dem Mikrocontroller. Es wird dann nur die dabei entstandene 
Datei
auf den Kontroller übertragen und läuft dann dort.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Verdammt nochmal!
Jetzt antwortet doch mal direkt auf meine Fragen, damit ich mir auch 
eine Meinung bilden kann!!
Danke

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:

> Ok, verstehe, also ist erstmal die Sprache egal, richtig? Ich kann in C
> oder BASCOM oder sonst einer aktuellen Sprache schreiben, der jeweilige
> Compiler richtet es, richtig?

Genau.
Du brauchst für die Sprache, in der du programmieren willst, den zur 
Sprache passenden Compiler, der als Ausgabe die entsprechende 
Programmversion für den Zielprozessor erzeugt.


Die einzelnen Hochsprachen unterscheiden sich in ihren Schreibweisen und 
auch in so manch anderen Details, aber letzten Endes kommt hinten immer 
die Opcode Sequnz für den µC raus, für den der Compiler geschrieben 
wurde.

Die Sprachen sind auch alle mehr oder wenig gleich mächtig. Soll 
heissen, es gibt keine Dinge, die man mit einer Sprache machen kann und 
mit einer anderen nicht. Die Frage ist: wie elegant kann man es machen. 
Aber machbar ist es immer irgendwie. Es gibt dazu ein Kriterium, das 
nennt sich 'Turing vollständig'. Ist eine Sprache Turing-vollständig, 
dann kann man prinzipiell in ihr jedes nur denkbare Programm schreiben. 
Und erstaunlicherweise braucht es dazu nicht viel um Turing-vollständig 
zu sein.
Wie gesaht: machbar ist es immer. Die Frage ist, wie einfach bzw. 
elegant. Und dann gibt es natürlich noch das 'Nebenproblem', dass man 
auf einem µC des öfteren auch noch Zeiten einhalten möchte. Da kommt es 
dann auch darauf an, wie gut sich Dinge ausdrücken lassen und wie gut 
ein Compiler dasselbe dann auf Opcode Ebene hinkriegt. Kommt vor, sollte 
man aber als Neuling auch nicht überbewerten. Gerade als Neuling gibt es 
viel zu lernen, da muss man nicht auf jede µs achten.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Danke!
Genau das wollte ich hören!
Jetzt haben wir eine Verständigungsbasis.

Merci

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:

> Gerade als Neuling gibt es
> viel zu lernen

Und genau deshalb bin ich kein Freund gleich auf einem µC loszulegen.
Wobei das Arduino Framework da noch das kleinere Übel ist.

Gerade am Anfang ist es wichtig, erst mal eine gewisse Infrastruktur zur 
Verfügung zu haben, die ganz einfach aus dem Stand heraus funktioniert. 
Lesbare Ausgaben auf eine Konsole hören sich banal an, sind aber auf dem 
nackten AVR schon eine gewisse Herausforderung. Man muss da schon 
einiges können, bis dann endlich am Terminal mal ein simples "Hallo 
World" steht oder ein errechneter Zahlenwert.
Auf einem PC ist es hingegen simpel. Das System ist soweit fertig 
aufgesetzt, dass ein in allen Büchern traditionell als erstes 
beschriebenes Programm
#include <stdio.h>

int main()
{
  printf( "Hallo World\n" );
  return 0;
}
ganz einfach aus dem Stand heraus funktioniert. Einfach compilieren, 
linken, ausführen und auf der Konsole taucht der Text auf. Auf einem 
nackten AVR ist das schon um einiges komplexer das hinzukriegen.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
@ Kai Maurer:

Danke, auch deine Ausführungen helfen mir weiter

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:

> Auf einem
> nackten AVR ist das schon um einiges komplexer das hinzukriegen.

Um beim weiter oben angesprochenen Auto zu bleiben.
In einer Hochsprache sitzt du im Cockpit und bedienst Lenkrad, 
Gangschaltung, Gas, Bremse Kupplung. Die einen Hochsprachen haben eine 
Handschaltung andere eine Automatik. Der eine schaltet selbsttätig das 
Licht ein, beim andern musst du Hand anlegen. Ich denke du hast die Idee 
- du sitzt an den Hebeln und Schaltern und was dann dahinter abläuft 
interessiert dich nicht weiter.
In Assembler, als ganz tief unten in der Programmierhierarchie bist du 
direkt an der Hardware. Wenn du Gas geben willst, bist du selbst dafür 
zuständig, dass die Spritpumpe schneller läuft, geht es bergauf ist es 
dein Job daran zu denken, den Zündzeitpunkt zu verstellen. Die 
Intervallschaltung vom Scheibenwischer will von dir auf die Millisekunde 
genau wissen, in welchen Abständen er wischen soll. etc. etc.

Du hast mehr Möglichkeiten einzugreifen, musst dich dafür aber im 
Gegenzug um einen Haufen Kleinigkeiten kümmern. Das ist schön für den 
Lewis Hamilton wenn er die Bremsbalance von vorne nach hinten legen 
kann, aber für Otto Normalbürger ist das gar nicht notwendig, das er das 
kann.

: Bearbeitet durch Moderator
von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
@ Karl Heinz:

und warum kann dann dieses " Hallo World" dann am Controller evt. nicht 
laufen, des blick ich nicht.
Wenn's doch durch den richtigen Compiler gegangen ist, dann muss es doch 
zwangsläufig auch am Controller gehen...

: Bearbeitet durch User
von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> @ Karl Heinz:
>
> und warum kann dann dieses " Hallo World" dann am Controller evt. nicht
> laufen, des blick ich nicht.
> Wenn's doch durch den richtigen Compiler gegangen ist, dann muss es doch
> zwangsläufig auch am Controller gehen...

Weil du am Controller schon mal gar keinen Bildschirm hast :-)
Und wenn du einen hättest bist du selbst dafür zuständig, dass die 
richtigen Pixel aufleuchten, so dass sich dort Buchstaben formen.

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:
> Heinz L. schrieb:
>> @ Karl Heinz:
>>
>> und warum kann dann dieses " Hallo World" dann am Controller evt. nicht
>> laufen, des blick ich nicht.
>> Wenn's doch durch den richtigen Compiler gegangen ist, dann muss es doch
>> zwangsläufig auch am Controller gehen...
>
> Weil du am Controller schon mal gar keinen Bildschirm hast :-)
> Und wenn du einen hättest bist du selbst dafür zuständig, dass die
> richtigen Pixel aufleuchten, so dass sich dort Buchstaben formen.

Dafür zuständig sind Softwareschichten, die am PC schon alle 
vorgefertigt sind. Auf einem nackten AVR bist du aber auf unterster 
Ebene. Da gibt es erst mal kein Betriebssystem, das schon diverse 
Services zur Verfügung stellt. Da gibt es erst mal nichts oder nur sehr 
weniges, was vorgefertigt wäre. Speziell dann, wenn es darum geht 
irgendwelche externe Hardware anzusteuern.
Auf einem nacktem AVR bist du direkt am Silizium.

: Bearbeitet durch Moderator
von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Ok, verstehe.

Wenn ich mir also erstmal dann eine IDE für den PC zulege um C zu 
lernen, dann kann ich aber kein LEDs schalten oder so, sondern 
eingentlich nur Textbasierte Anwendungen ausgeben, oder?

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
@ Gerald K:

Super, genau das wollte ich hören!

Ist jetzt Arduino wirklich DER Standard? Oder geht auch ein Olimex, da 
wären dann auch die richtigen Shields/Boards mit div. Sensoren 
zuhaben...

Hat Olimex auch eine IDE die zur Verfügung gestellt wird?

Hat jemand Erfahrungen mit Olimex gemacht? Finde die jetzt echt nicht 
schlecht.

: Bearbeitet durch User
von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Besser, schlechter, welcher Prozessor, richtige IDE, usw .....

Kommt alles auf deine Anforderungen an.
Weißt/kennst du diese?

Ist es:
Programmieren lernen?

Dann fang an, und eiere nicht mit solchen absurden und künstlichen 
Sorgen rum.

Ist auch egal, welche Sprache.
Egal welche Hardware.
Wechsle ein paar mal Plattform und Sprache.

Erst wenn du programmieren kannst und eine Anwendung bauen willst, dann 
solltest du konkret werden. Persönliche Vorlieben und die harten Fakten 
der Anforderung bestimmen die Mittel.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
hart aber wahr...

nur habe ich nicht die Zeit dazu, leider.

Ihr seit halt sicher schon Zig Jahre dabei, für mich ist das alles 
Neuland...

und deshalb möchte ich so einfach wie möglich einsteigen und für das was 
am Ende rauskommt MUSS ich nicht wirklich alles bis ins Detail wissen 
oder erlernen. Dafür gibt es sicher Librays und offenen Code...

: Bearbeitet durch User
von Ede (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Na dann wuerde ich einfach mal das Arduino Starter Kit empfehlen 
(http://arduino.cc/en/Main/ArduinoStarterKit), rund um Arduino gibt's 
genug Informationen, gerade fuer Einsteiger.

Olimex ist auch nicht falsch, aber am Ende tut sich da nicht viel. Mit 
dem Starter Kit hast du schon einiges an Projekten die du ausprobieren 
kannst, und musst nicht alles einzeln zukaufen.

von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> nur habe ich nicht die Zeit dazu, leider.

Hast du denn Ziele?
Einen "Anwendungs" Wunsch?

von Stefan R. (srand)


Bewertung
0 lesenswert
nicht lesenswert
OldMan schrieb:
> Persönlich würde ich nicht mit einem Arduino anfangen. Ich will immer
> wissen, was Sache ist und nichts fertiges vorgesetzt bekommen.

Und das STK500 ist nichts fertiges?

Immer wieder lustig, wie Leute sich selbst zerlegen mit ihrem elitären 
Gehabe, hinter dem dann doch nichts steckt.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Ulrich F. schrieb:
> Heinz L. schrieb:
>> nur habe ich nicht die Zeit dazu, leider.
>
> Hast du denn Ziele?
> Einen "Anwendungs" Wunsch?

Klar, steht im allerersten Beitrag...
aber bis dahin ist es wohl noch ein weiter Weg

irgendwann mehre Sensoren die ein 0-5V Signal liefern zu loggen und auch 
grafisch anzuzeigen.

Sicher, für manchen hier ein Klacks, für mich sehr lernintensiv.

Ich weiß was ich will, aber leider nicht wirklich wie ichs umsetzen 
soll....

und da dachte ich eben an einen Olimex, da gibt's viele Bausteine... 
andere von andere Anbietern, SPI, I2C Schnittstellen, ist mir alles klar 
irgendwie vor den Augen, aber irgendwie doch nicht....die 
OpenSource-Software müsste man anpassen, erweitern usw.



Hmm

: Bearbeitet durch User
von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> und da dachte ich eben an einen Olimex, da gibt's alle Bausteine... die
> Software müsste man anpassen, erweitern usw.

Dann men los!

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Ulrich F. schrieb:
> Heinz L. schrieb:
>> und da dachte ich eben an einen Olimex, da gibt's alle Bausteine... die
>> Software müsste man anpassen, erweitern usw.
>
> Dann men los!

Dann men los?

Wahrscheinlich hab ich zuviel Schiess es nicht zu können..

: Bearbeitet durch User
von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> Ulrich F. schrieb:
> Heinz L. schrieb:
> und da dachte ich eben an einen Olimex, da gibt's alle Bausteine... die
> Software müsste man anpassen, erweitern usw.
>
> Dann men los!
>
> Dann men los?
>
> Wahrscheinlich hab ich zuviel Schiess es nicht zu können.. Also das Projekt 
hinzubekommen...

Daran liegst wohl, ja...

von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja!

Anforderungen sind vorhanden.
Material wurde ausgewählt.

Also: Los!
Oder anders: Was hindert dich?

von The Return of Mistzeug (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Heinz L. schrieb:
> Wahrscheinlich hab ich zuviel Schiess es nicht zu können..

Ach was! Drauf und dran!

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Ulrich F. schrieb:
> Ja!
>
> Anforderungen sind vorhanden.
> Material wurde ausgewählt.
>
> Also: Los!
> Oder anders: Was hindert dich?

na das wissen, WIE!?

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
The Return of Mistzeug schrieb:
> Heinz L. schrieb:
> Wahrscheinlich hab ich zuviel Schiess es nicht zu können..
>
> Ach was! Drauf und dran!

Haha!

man wird hier machmal echt nicht verstanden....

also nicht jetzt hier in diesem Thread, aber ich bin hier echt schon 
runtergemacht worden und nur weil ich die Dinge für mich richtig 
verstehen will...

: Bearbeitet durch User
von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> na das wissen, WIE!?

Das kann ich dir aber nicht geben.
Das musst du selber erwerben.

Wie wäre es mit einem C/C++ Grundlagen Tutorial/Buch?
(unter dem Kopfkissen)



Einfach und Preiswert, zum Start, wäre ein Arduino Uno.
Deine Sensoren kann er sicherlich bedienen.
Bei der Grafik haperts dann ....
Aber bis dahin hast du viel gelernt.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
ja, muss mal drüber schlafen und sicher der richtige Weg.
Haben ja schon andere hier alles erwähnt...

Grundlagen!

: Bearbeitet durch User
von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Ulrich F. schrieb:

> Wie wäre es mit einem C/C++ Grundlagen Tutorial/Buch?
> (unter dem Kopfkissen)

Yep.

Und rechne mal damit, dass ein paar Monate ins Land gehen, ehe du an 
dein Projekt auch nur denken kannst.
Also lass das Projekt erst mal Projekt sein und sieh zu, dass du in 
Fahrt kommst. Es gibt nämlich wirklich viel zu lernen auf dem Weg zum 
Programmierer. Wenn man allerdings nie anfängt, wird man ganz sicher nie 
dorthin kommen.

Und ja, Misserfolge gehört zum Geschäft mit dazu. Da muss man durch.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
@ Karl Heinz:

Kannst du bitte mal hierdrauf antworten?

Beitrag "Re: ARDUINO oder OLIMEX und spätermal, was dann ?"

von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> @ Karl Heinz:
>
> Kannst du bitte mal hierdrauf antworten?
>
> Beitrag "Re: ARDUINO oder OLIMEX und spätermal, was dann ?"

Du bist wieder bei den Details....

Was ist schlimm daran, wenn es erstmal nur Text auf der seriellen 
Konsole ist?
Und natürlich kann ein UNO LEDs schalten.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
ich rede von der IDE am PC ...

Der Link oben und die Frage ist doch eindeutig!

ich wollte nur wissen das denn so ne IDE unter Windows kann... bzw. was 
ich für einen Nutzen habe

Das der Arduino ne LED blinken lassen kann, weiß ich

Ich meinte den Link hier:

Beitrag "Re: ARDUINO oder OLIMEX und spätermal, was dann ?"

Was kann ich damit alles anstellen/lernen?

: Bearbeitet durch User
von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:

> Was kann ich damit alles anstellen/lernen?

Du lernst damit programmieren!

Das ist zum jetzigen Zeitpunkt das wichtigste. Es gibt so vieles, was 
dir bevorsteht und was überhaupt nichts mit LED oder Nicht LED oder 
Textkonsole zu tun hat.

Vereinfacht ausgedrückt: jetzt geht es darum, sich erst mal überhaupt 
auf dem Rad halten zu können, fahren zu lernen. Die Tour de France ist 
noch in weiter Ferne und zum jetzigen Zeitpunkt völlig uninteressant.

von Heinz L. (luli)


Bewertung
-1 lesenswert
nicht lesenswert
sagmal willst du mich nicht verstehen oder wie? Was soll ich lernen wenn 
ich vor der IDE sitze??

MANN! wo sind die Aufgaben??

und was wirft die IDE dann aus?

Nur ein " Hallo World"???

Bei einer technischen Sache kann ichs verstehen...

verstehst du was ich dich eingentlich frage?

Und lass bitte die vergleich die du dauernd bringst, ich bin nicht doof

: Bearbeitet durch User
von Marc (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielleicht nicht doof (the jury is still out on that one...), aber 
beratungsresistent.

Mach einfach dein Ding. Interessiert dich doch gar nicht, was andere 
denken. Muß ja nicht schlecht sein.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Beratungsresistent?

ich will wissen was es für Aufgaben mit sich bringt? Nur " Hallo World" 
reicht mir nicht. Was kommt dann ? 2x " Hallo World"

vielleicht Frage ich ja auch nur falsch!

wenn ich ne IDE habe und einen Controller der mir zeigt das dies oder 
jenes blinkt, hupt oder sonst was macht, oder auch nicht, dann weiß ich 
was läuft, kann dem Fehler nachgehen usw.

Aber jetzt nur Hallo World?
Was für Tutorials kann ich abhandeln wenn ich mir so ne C-IDE runterlade 
und keine Periferie ansteuern oder anwählen kann?

: Bearbeitet durch User
von voltwide (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Um zu programmieren, brauchst Du eine Entwicklungsumgebung, die IDE.
Die läuft auf dem PC unter Win, OSX, Linux, was immer beliebt.
Dein Programm schreibst Du mit dem darin enthaltenen Texteditor.
Dann erzeugst Du den Programmcode mit dem enthaltenen Compiler.
Dann gibt es erstmal Fehlermeldungen.
Korrigieren mit dem Editor.
Erneuter Compiler-Lauf... usw, bis alle Fehler beseitigt sind.
Nun kann der Compiler "fehlerfreien" Code erzeugen.
Der Programmcode wird auf Deinem PC abgelegt als Datei, meist ein sog. 
HEX-File.
Dieser Programmcode muß nun in das Zielsystem gebracht ("ge-flashed") 
werden.
Z.B. über einen USB-Programmer (der im Arduino bereits enthalten ist).
Jetzt könnte die LED blinken.

Ich schätze Dich mal so ein, dass Du wenig Spass daran hast, ein 
C-Programmierhandbuch von vorne bis hinten durch zu ackern.
Hatte ich auch nie. Programmieren lernt man durch Programmieren.

Und dazu braucht es auch rasche Erfolge, sind geht die Motivation den 
Bach runter.

Von daher: Wähle erstmal den leichten Weg, d.h. Arduino, Programmiere 
mit Bascom oder dem Arduino C-Dialekt. Später kannst Du ja wechseln auf 
Standard-C und die Atmels hardware "direkt" programmieren. Das läuft 
dann nur unter ständiger Zuhilfenahme der Atmel-Dokumentation (schon der 
Attiny bringt es auf weit über 500Seiten).

von Axel S. (a-za-z0-9)


Bewertung
1 lesenswert
nicht lesenswert
Ich sehe hier so viele grundlegende Fragen unbeantwortet ...

@Heinz:

1. ein Arduino ist kein Chip. "Arduino" ist eine µC Plattform, die 
versucht von der Hardware zu abstrahieren. Zu diesem Zweck gibt es die 
genormte (Schnittstellen, Modulgröße, Shields) Hardware. Und ein eigenes 
Entwicklungssystem, das mit einer Hardware-Abstraktionsschicht die 
Unterschiede der verschiedenen Arduino-Implementierungen (Uno, Due, 
Leonardo, ...) nivelliert. Technisch ist das C++.

Man kann nun das Arduino-Entwicklungssystem verwerfen und direkt auf der 
"nackten" Arduino-Hardware programmieren. Dann büßt man zwar die 
Plattformunabhängigkeit ein, dafür spart man jede Menge Overhead und 
kann auch beliebige Programmiersprachen (sofern für die konkrete 
Hardware vorhanden) benutzen.

2. Olimex ist erst recht kein Chip. Das ist der Name einer Firma, die 
einen Online-Shop betreibt und da ihre Entwicklungsboards verkauft. U.a. 
haben sie da auch einen "Olimexino", was wohl ein Klon eines Arduino 
sein soll.

Da die Arduino-Hardware vollständig dokumentiert ist und man Schaltungen 
nicht schützen kann, gibt es Arduino-Klone zuhauf. Besonders billig 
natürlich direkt aus China (ebay, DX, Alibaba, ...)

3. Warum C und nicht C++? Aus zwei Gründen. Zum einen gibt es historisch 
für die wenigsten µC einen C++ Compiler. Der gcc ist da die rühmliche 
Ausnahme. Aber selbst wenn es den C++ Compiler gibt - bei den C++ 
Libraries sieht es dann wieder dünn aus. Versuch mal die C++ 
Standard-Library für z.B. AVR zu finden.

Der zweite Grund ist daß du auch dann, wenn du dein Programm in C++ 
schreibst, für irgendwelche Dinge auf C-Libraries zurückgreifen müssen 
wirst. Sei es für die Ansteuerung eines Displays, für ein FAT-Filesystem 
auf einer SD-Karte oder sonstwas. Spätestens dann muß du die C Konzepte 
verstanden haben (ganz besonders Pointer), sonst kommst du auf keinen 
grünen Zweig.

Deswegen: C++ ja gerne, aber erst nachdem du C zumindest kennst.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Ok, alles klar
Danke an voltwide und Axel.

Genau das was voltvide aussagt, meinte/fragte ich:

Was bringt es mir nur wenn ich eine IDE auf dem PC habe, wie von Klar 
Heinz vorgeschlagen, wenn ich da "nur" irgendwas programmiere, dann 
compiliere aber nicht mehr wie ein Text am PC ausgeben kann?

Wenn ich aber mit dem compilierten CODE die Hardware füttern kann, ist 
das gut.

Aber nur an der IDE am PC was schreiben und dann nichts mit dem Code 
anfangen können, bringt doch nix. Weiß nicht wo der Lerneffekt dabei 
sein soll. Für die ersten Schritte sicher gut, werde ich auch so machen. 
Wollte auch wissen ob's da irgendwo Tutorials gibt zum abarbeiten.

Im Gegensatz habt ihr zwei gerade deutlich gemacht: programmieten, 
compilieren, Fehler korrigieren, in die Hardware rüber und schauen was 
passiert.

Ich dachte Olimex ist wie Arduino, verwenden quasi einen uC mit diverser 
Periferie auf deren eigener Platine(gibt auch da mehrere Modelle), die 
man dann mittels Software/IDE programmieren kann, eben genauso wie ein 
Arduino.

Ist ein Olimex, und damit meine ich deren Boards im allgemeinen, also 
nicht ein vergleichbares Produkt wie der Arduino? Weiß jetzt nicht ob 
ich mich verständlich ausdrücke/frage?

: Bearbeitet durch User
von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> Ist ein Olimex, und damit meine ich deren Boards im allgemeinen, also
> nicht ein vergleichbares Produkt wie der Arduino?

Da man auch Äpfel und Birnen vergleichen kann: Ja, ist vergleichbar!
Aber nicht gleich!



Dein inneres Sträuben hindert dich wirksam daran mit dem programmieren 
zu beginnen.

Und jetzt gebe ich hier auf.....
Denn: Du willst offensichtlich nicht das, was du willst.
Den Widerspruch kann ich nicht auflösen.

von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
will schon, aber alles will bedacht sein,

und sträuben will ich mich nicht, aber ich fragte auch mehrmals wie man 
sich das dann vorstellen muss mit einer IDE zum lernen am PC, wie genau 
laufen da die Aufgabenstellungen ab, gibts irgendwo Tutorials, usw.

aber Danke mal an alle für dir Tips

von Volker S. (vloki)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> will schon, aber alles will bedacht sein,

Das geht leider nicht und du wirst hier so viele unterschiedliche
persönliche Meinungen hören, das dir das nicht weiterhilft.

Ich würde beispielsweise NIE empfehlen C auf einem PC zu lernen
bevor man sich an einen uC wagt. Auf einem uC habe ich doch eine viel 
bessere Vorstellung was eigentlich passiert und passieren soll und nicht 
so was abstraktes wie die Ausgabe eines Textes auf dem Bildschirm.
Das "Hello World" ist dann eben eine blinkende LED und fertig.
(Textausgaben wirst du mit dem uC vielleicht niemals brauchen)

Dazu reicht eine möglichst einfache Entwicklungsplatine. Leider kenne 
ich mich Atmel Tools, für die du hier im Forum wohl die meiste Hilfe 
erwarten kannst nicht aus. Was mich irgendwie wundert, dass hier auf 
Fragen wie deine nicht so eine Standardantwort gibt wie "Gooligum" im 
Microchip Forum

Den Umweg über Arduino würde ich nicht gehen wenn du richtig einsteigen 
willst. Der Anfang ist mit einer "normalen" Umgebung sicher etwas 
härter.
Dafür musst du aber nur ein mal anfangen.

Wie das alles für dich sein wird, das wirst du erst wissen,
wenn du es ausprobiert hast.

von Ulrich F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ok...
Einen Spruch noch:
 * Wer will findet Wege, wer nicht will, sucht Gründe *

von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Also ich habe die Programmierung an Mikrocontrollern an einem PIC 
gelernt.
Angefangen habe ich mit Assembler und mit der Hilfe der Seite 
www.sprut.de
Dort wird alles sehr gründlich von Anfang an erklärt und ist meiner 
Meinung nach perfekt für Anfänger.

Natürlich gibt es auch vergleichbare Seiten für andere Mikrocontroller, 
aber es ist von Vorteil mit Assembler zu beginnen.
Durch diese Hardwarenahe Programmiersprache lernt man was die Hardware 
überhaupt macht und wie diese funktioniert.
Anschließend kann man ruhig auf eine Hochsprache wechseln.

Eigentlich ist es egal mit welcher Hardware du anfängst, solange es 
dafür ausreichend Dokumentationen gibt.
Wenn du mal verschiedene Mikrocontroller durchgekaut hast, wirst du 
sehen mit welchem du am besten zurechtkommst =)

von Karl H. (kbuchegg) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
Heinz L. schrieb:
> Ok, alles klar
> Danke an voltwide und Axel.
>
> Genau das was voltvide aussagt, meinte/fragte ich:
>
> Was bringt es mir nur wenn ich eine IDE auf dem PC habe, wie von Klar
> Heinz vorgeschlagen, wenn ich da "nur" irgendwas programmiere, dann
> compiliere aber nicht mehr wie ein Text am PC ausgeben kann?

Variablen
Datentypen
Abfragen
Schleifenformen
Arrays
Textverarbeitung als Sonderform der Arraybehandlung
Funktionen
Funktionsargumente
Pointer
Strukturen
Regeln bei der Expressionauswertung
Operatoren
....

bis jetzt sind da nur Standardsprachmittel.
Dann kommt dazu das weite Feld von Basis-Algorithmen
Dynamische Datenstrukturen schenk ich dir, die brauchst du auf einem µc 
erst mal nicht. Filehandling ... darüber kann man diskutieren. Will man 
auf eine SD Karte schreiben, wäre es schon gut, wenn man wenigstens 
rudimentäres Verständnis dafür hätte, ganz sicher braucht man es aber, 
wenn dann mal µC und PC dergestalt zusammenarbeiten sollen, dass das von 
dir geschriebene Programm auf dem µc mit einem von dir geschriebenen 
Programm auf dem PC kommunizert und der PC mit den Daten dann 
weiterarbeiten soll, was meistens ein Speichern in einem File 
inkludiert.


> Aber nur an der IDE am PC was schreiben und dann nichts mit dem Code
> anfangen können, bringt doch nix. Weiß nicht wo der Lerneffekt dabei
> sein soll.

Ja genau.
Ein Informatik Studium dauert nur deswegen 10 Semester, weil die ja alle 
doof sind.

An so einem Telefonbuch kann man ja auch nicht grundlegende Dinge 
lernen, wie zb Datenhaltung, Suchen, Sortieren, strategisches 
programmieren, defensives programmieren, Organisation, Benutzerführung, 
Basistechniken zur Fehlersuche, Programmstrukturierung, Modulaufteilung, 
....


Du hast es geschafft.
Ich bin auch aus diesem Thread draussen.
Jetzt muss ich mir direkt nochmal den Thread suchen, wie man bestimmte 
Benutzer ausblenden kann, damit ich da in Zukunft nicht wieder drauf 
reinfalle.

: Bearbeitet durch Moderator
von Heinz L. (luli)


Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz schrieb:

> Du hast es geschafft.
> Ich bin auch aus diesem Thread draussen.
> Jetzt muss ich mir direkt nochmal den Thread suchen, wie man bestimmte
> Benutzer ausblenden kann, damit ich da in Zukunft nicht wieder drauf
> reinfalle.

naja, liegt wohl daran das DU  mir meine direkt gestellten Fragen, 
leider nicht beantwortet hast...

aber egal.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.