Forum: Mikrocontroller und Digitale Elektronik Welcher Mikrocontroller


von Rene S. (deadc0de)


Lesenswert?

Hallo, ich möchte mich gerne mit Mikrocontrollern auseinandersetzen. 
Meine Frage ist nun, mit welchen fange ich am besten an. Es sollte 
möglichst Kostengünstig sein. Außerdem möchte ich gut damit ATMEL 
Assembler programmieren lernen. Könnt ihr mir da was empfehlen?
Vielen Dank im Voraus.

von Uwe (Gast)


Lesenswert?

Hallo Rene,

da kommt fast nur der AVR Dragon in Frage. Sehr preiswert, man kann 
andere AVRs damit programmieren, recht verbreitet...

Ich habe auch darauf Assembler programmiert.

Grüße, Uwe

von Ahm (Gast)


Lesenswert?

Rene S. schrieb:
> Außerdem möchte ich gut damit ATMEL
> Assembler programmieren lernen.

Dann würde ich dir auf jeden Fall MSP oder Cortex-M empfehlen...

von Uwe (Gast)


Lesenswert?

Ahm schrieb:
> Rene S. schrieb:
>> Außerdem möchte ich gut damit ATMEL
>> Assembler programmieren lernen.
>
> Dann würde ich dir auf jeden Fall MSP oder Cortex-M empfehlen...

Ähhhh... ATMEL Assembler auf MSP oder Cortex-M programmieren? Habe ich 
da was verpasst?

Nebenbei: Zum MSP430 würde ich auch raten, wenn nur nach Programmieren 
in Assembler gefragt wäre, denn das ist auch mein "Lieblingsprozessor" 
geworden. Aber ATMEL war gefragt!

Uwe

von Falk B. (falk)


Lesenswert?

@ Rene S. (deadc0de)

>Hallo, ich möchte mich gerne mit Mikrocontrollern auseinandersetzen.
>Meine Frage ist nun, mit welchen fange ich am besten an.

Arduion & Co oder BASCOM sind für den Einstieg OK. Man hat schnell ein 
paar Erfolgserlebnisse.

> Es sollte
>möglichst Kostengünstig sein.

Wieviel willst du denn ausgeben? 10 Euro? 100 Euro?

> Außerdem möchte ich gut damit ATMEL
>Assembler programmieren lernen.

Warum? Aus Spaß an der Freud? Dann mach mal?
Um damit später was sinnvolles zu machen? Dann ist das keine gute Wahl. 
C ist deutlich besser.

> Könnt ihr mir da was empfehlen?

Wenn du etwas Geld ausgeben willst, kann ich als Programmieradapter UND 
Debugger das relativ neue ATMELICE empfehlen. Das ist recht preiswert.

https://hbe-shop.de/Art-2407172-ATMEL-ATATMEL-ICE-BASIC-ATMEL-ATATMEL-ICE-BASIC-DEBUGGER-ATMEL-ARM-AVR-BASIC-KIT

Mit Versandkosten sind das dann 66 Euro.

Jaja, jetzt kommen gleich die ARM-Fans und sagen dir, dass es für nen 
Appel & Ei Discoveryboards von ST gibt, wo alles für läppische 20 Euro 
zusammen drauf ist. Stimmt! Aber so ein ARM ist nicht wirklich für 
Anfänger geeignet, der ist zu komplex. Auch darüber wurde hier schon 
endlos gestritten.

Man kann auch ohne Debugger arbeiten, aber bei DEM Preis ist das heute 
eigentlich unsinnig! Den Draggon würde ich heute nicht mehr empfehlen, 
das ATMELICE kostet kaum mehr, kann aber DEUTLICH mehr!

Kauf dir auf jeden Fall ein fertiges Board, die gibt es preiswert. Da 
kannst du gleich loslegen und musst nicht erst deine Fehler vom 
Zusammenbau suchen.

von Ahm (Gast)


Lesenswert?

Uwe schrieb:
> Ähhhh... ATMEL Assembler auf MSP oder Cortex-M programmieren? Habe ich
> da was verpasst?

Dat war ja auch ein Scherz ;-)
"Ich würde gerne mit einem Audi autofahren lernen. Welches Auto eignet 
sich dafür?"

von Sven S. (boldie)


Lesenswert?

Hast du irgendwas im Auge, was du umsetzen möchtest? Das macht die Sache 
nämlich leichter und sichert dir die Motivation, denn nur so ein 
bisschen was blinken lassen oder so macht auch nicht wirklich viel.

Hast du schon andere Kenntnisse, andere Controller, C, Elektronik? 
Vielleicht wären auch andere Plattformen interessant, je nach dem was du 
mit deinem Wissen anfangen möchtest.

Also für möglichst kostengünstig kann ich dir empfehlen, kauf dir einen 
Arduino evtl. sogar einen Arduino Nano 3 mit Steckbrett. Da bist du mit 
max. 20 € dabei, wenn du dich ein wenig umsiehst. Da brauchst du nicht 
einmal ein Programmiergerät, da dieser einen Bootloader besitzt. Das 
Framework von Arduino musst du dabei nicht verwenden, du kannst auch 
ganz normale Kompilate aufspielen.

von Rene S. (deadc0de)


Lesenswert?

Grundkenntnisse habe ich in C. Ich habe jetzt zwar noch kein großes 
Projekt, aber ich möchte mich mit der Materie auseinander setzten. 
Außerdem möchte ich ohne BS, das echt viel Verschleiert programmieren 
lernen. Das Arduino klingt interessant. Ich glaube ich schau mir das mal 
an.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Rene S. schrieb:

> Hallo, ich möchte mich gerne mit Mikrocontrollern auseinandersetzen.
> Meine Frage ist nun, mit welchen fange ich am besten an. Es sollte
> möglichst Kostengünstig sein. Außerdem möchte ich gut damit ATMEL
> Assembler programmieren lernen. Könnt ihr mir da was empfehlen?

Nun, wenn du Atmel-Asm programmieren willst, dann kommen naturgemäß nur 
Atmel-AVR8 in Frage. Die allerkleinsten sollte man vermeiden (weil nicht 
über SPI programmierbar wie die meisten anderen), die allergrößten 
sollte man (zumindest anfänglich) ebenfalls vermeiden, weil sie nicht im 
für Versuchsschaltungen praktischen DIP-Package verfügbar sind.

Aus dem riesengroßen "Rest" kannst du dir raussuchen, was immer du für 
dein Projekt brauchst und gerade günstig irgendwo bei den üblichen 
Verdächtigen zu kaufen ist. Die untere Grenze ist etwa der Tiny13(A), 
die obere der Mega1284(P).

Ich würde für den Anfang für einen Mega1284P plädieren, damit kommst du 
nicht so leicht in Probleme bezüglich mangelnder Speicherresourcen, 
kannst also deine ersten Schritte völlig unbelastet von solchen 
Problemen machen.

Was du allerdings brauchst, ist ein SPI-Programmer. Das ist die größte 
finanzielle Hürde. Wenn es nahezu sofort losgehen soll, wirst du 
ungefähr 20€ (z.B. bei Reichelt) dafür abdrücken müssen. Wenn die Sache 
auch noch ein paar Wochen Zeit hat, geht's auch für ca. 5€ bei ePay. Nur 
wenn du noch über einen Computer verfügst, der einen "echten" COM- oder 
LPT-Port hat, kannst du diese Investition zumindest für den Anfang 
überspringen und temporär durch ein Eigenwerk aus ein paar 
Standardbauelementen ersetzen. Das würde ich DIR aber nicht empfehlen.

Dazu brauchst du nur noch den µC deiner Wahl (~60 Cent..~6€), eine 
Streifen- oder Lochrasterplatine (~1€), einen Siebelko (~20 Cent), eine 
6- oder 10polige Wannenbuchse, je nach gekauftem Programmer (~20 Cent) 
und natürlich die Aktoren und Sensoren, für den Anfang tun es wohl ein 
paar LEDs und Taster.

von W.S. (Gast)


Lesenswert?

Rene S. schrieb:
> Autor:
>
>         Rene S.
>         (deadc0de)

Ja. Rene DeadCode. Und der Wunsch, "ich möchte mich gerne mit 
Mikrocontrollern auseinandersetzen...Außerdem möchte ich gut damit ATMEL
Assembler programmieren lernen".

Das klingt nach "Ich möchte mich gern mit Fahrzeugen auseinandersetzen. 
Außerdem möchte ich damit Opel Astra fahren lernen".

Also:
Was willst du da auseinandersetzen?
Gibt es einen Zweck oder wenigstens einen Anlaß?
Kannst du lesen? (präzise: ENGLISCH lesen?)
Traust du es dir auch zu, das Gelesenen zu verstehen? Also wenigstens 
einigermaßen passable Vorkenntnisse zu haben?

W.S.

von Falk B. (falk)


Lesenswert?

@ Rene S. (deadc0de)

>Grundkenntnisse habe ich in C.

Dann bau diese aus. Das bringt dich weiter. Wobei man dazu weniger einen 
Mikrocontroller nutzen sollte, als eher einen einfachen Standardcompiler 
am PC und dort mit printf & Co lernen sollte. Das ist besser.

>Ich habe jetzt zwar noch kein großes
>Projekt, aber ich möchte mich mit der Materie auseinander setzten.

Schön, aber du will mittel-lang fristig sinnvolle Fähigkeiten aufbauen. 
Also C. Vergiss ASM, das lohnt sich nicht wirklich.

>Außerdem möchte ich ohne BS,

BS = Betriebssystem? Oder BS = Bullshit?

>das echt viel Verschleiert programmieren

Nein, es verwaltet. Meist ist das sinnvoll und nötig, an einigen Stellen 
kann es aber auch zur Bürokratie werden.

>lernen. Das Arduino klingt interessant. Ich glaube ich schau mir das mal
>an.

Viel Spaß und Erfolg dabei.

von picalic (Gast)


Lesenswert?

Falk Brunner schrieb:
> Dann bau diese aus. Das bringt dich weiter. Wobei man dazu weniger einen
> Mikrocontroller nutzen sollte, als eher einen einfachen Standardcompiler
> am PC und dort mit printf & Co lernen sollte. Das ist besser.

Also, wenn ich mir alle meine in meinem bisherigen Leben so 
vorgekommenen Microcontroller-Anwendungen anschaue, finde ich keine 
einzige, wo mich Standard C Bibliotheksfunktionen wie "printf & co" 
weitergebracht hätten!

von go MSP (Gast)


Lesenswert?

Wenn man sich als Einsteiger mit µC beschäftigen will und das preiswert, 
ist der MSP430 aktuell die beste Wahl.
Mit dem Launchpad erhält man eine super günstige All In One Lösung: 
Evaluation Board, Programmer, Debuginterface.

http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/tools_software.page#kits
Was du dort für kleines Geld bekommst, kostet dich bei AVR das 10-fache.

von Falk B. (falk)


Lesenswert?

@ picalic (Gast)

>Also, wenn ich mir alle meine in meinem bisherigen Leben so
>vorgekommenen Microcontroller-Anwendungen anschaue, finde ich keine
>einzige, wo mich Standard C Bibliotheksfunktionen wie "printf & co"
>weitergebracht hätten!

Es geht nicht um printf & co, sondern um die Beherrschung der C 
Grundlagen. Befehle, Strukturen, Funktionen, Parameterübergabe etc. Die 
kann man am besten so trainieren. printf ist nur zur einfachen Ausgabe 
bzw. Debuging sinnvoll.

Wenn man mit ungesundem Halbwissen in C in die uC Welt einsteigt, wird 
dann meist ziemlich viel rumgemurkst, weil man an zwei Fronten kämpft. C 
und uC. ;-)

Beitrag "Denkfehler mit PCA9536 (Problem)"

von c-hater (Gast)


Lesenswert?

Falk Brunner schrieb:

> Schön, aber du will mittel-lang fristig sinnvolle Fähigkeiten aufbauen.
> Also C. Vergiss ASM, das lohnt sich nicht wirklich.

Schwachsinn.

Nur in Asm ist es möglich, immer den kleinsten µC zu wählen, der die 
gegebene Aufgabe noch zu leisten vermag.

Programmiert man in C und betrachtet Asm so wie der gute Falk, wird man 
oft auf einen größeren µC ausweichen müssen. Historisch ist so der 
Sachverhalt entstanden, daß wir heute GHz-Monster von CPUs benutzen, 
unsere Aufgaben damit aber kein bissel schneller erledigen können als 
vor 30 Jahren. Und wenn doch: Schaut man genauer hin, wo was wirklich 
schneller geworden ist (Video-Codecs z.B.), dann trifft man sehr schnell 
auf den Sachverhalt, daß die relevanten Teile entweder in Asm 
implementiert sind oder auf Co-Prozessoren ausgelagert wurden, deren 
Programm ebenfalls in Asm (deren dann natürlich) geschrieben ist.

Und alle Versuche der GPU-Hersteller, den C-Wichsern gefällig zu sein, 
indem eine C-ähnliche Sprache zu Programmierung der GPUs propagiert 
wird, zeigt auch nur erneut, daß die Vermeidung dieser unnötigen 
Abstraktionsebene mehr (teils sogar ganz erheblich mehr) Leistung auch 
aus solchen Co-Prozessoren quetscht.

Das alles erklärt übrigens auch die Vorliebe Falks für die Megas und 
seine Abneigung gegen die Tinys. Die kleinen Dinger zwingen ihn wohl 
viel zu oft, sein heißgeliebtes, aber räudig ineffizientes C-Geschwurbel 
zu verlassen...

C ist für die Leute, die zu dumm oder zu faul sind, wirklich effizientes 
Lösungen auf die Beine zu stellen. Für wirklich effizente Lösungen führt 
an Asm kein Weg vorbei. Und wenn Effizienz kein Rolle spielt, kann man 
einfach richtige Hochsprachen verwenden, ist also auch durch mit C. C 
ist einfach komplett über.

Natürlich: Sieht man sich die objektive Realität an, scheint das nicht 
so zu sein. Das liegt aber nur daran, daß diese objektive Relität zu 
einem guten Teil von den nicht gerade sehr objektiven "C-Likern" geformt 
wird...

Zu denen wohl auch der gute Falk gehört...

von STM32Jubelperser (Gast)


Lesenswert?

Rene S. schrieb:
> Hallo, ich möchte mich gerne mit Mikrocontrollern auseinandersetzen.
> Meine Frage ist nun, mit welchen fange ich am besten an. Es sollte
> möglichst Kostengünstig sein. Außerdem möchte ich gut damit ATMEL
> Assembler programmieren lernen. Könnt ihr mir da was empfehlen?
> Vielen Dank im Voraus.

Dann würde ich dir einen STM32F4 empfehlen! Das ist heute Standart!
Der ist total super schnell, hat die vollen 32Bit und ist überhaupt 
Millionenmal besser als andere. Und voll super für Anfänger - man 
braucht nur 2 Wochen, bis die erste LED leuchtet.
CUBE alleine liefert Knobelspass für Jahre!
;-)

Im Ernst:
Du hast dir die Frage selber beantwortet. Da du ATMEL Assembler 
programmieren möchtest, kommt eigentlich nur ein AVR in Frage. 
Vorschlag: ATMEGA.

Die AVRs sind eh keine so schlechte Wahl für Anfänger, weil du viel 
Hilfe und Tutorials finden wirst.

Ich würd sonst ja eher PIC24 oder PIC32 empfehlen, aber die kann man 
nicht mit ATMEL-Assembler programmieren.

von Falk B. (falk)


Lesenswert?

@ c-hater (Gast)

>> Schön, aber du will mittel-lang fristig sinnvolle Fähigkeiten aufbauen.
>> Also C. Vergiss ASM, das lohnt sich nicht wirklich.

>Schwachsinn.

Ihr Stichwort, euer Merkwürden!

>Nur in Asm ist es möglich, immer den kleinsten µC zu wählen, der die
>gegebene Aufgabe noch zu leisten vermag.

Dies Aussage ist zu 100% korrekt!

Aber die Frage danach falsch! Denn es geht selten darum, den kleinsten 
uC zu wählen. Nicht heute mehr, in Zeitalter von Raspberry Pi & Co, 
womit Relais und und ein paar LEDs gesteuert werden. Weder bei den 
Profis, erst recht nicht bei den Hobbybastlern.

>Programmiert man in C und betrachtet Asm so wie der gute Falk, wird man
>oft auf einen größeren µC ausweichen müssen. Historisch ist so der
>Sachverhalt entstanden, daß wir heute GHz-Monster von CPUs benutzen,
>unsere Aufgaben damit aber kein bissel schneller erledigen können als
>vor 30 Jahren.

Doch, das können wir, auch wenn viele 
Möchtegern-ich-bin-mal-schnell-Mikrocontrolleruser das nicht können.

> Und wenn doch: Schaut man genauer hin, wo was wirklich
>schneller geworden ist (Video-Codecs z.B.), dann trifft man sehr schnell
>auf den Sachverhalt, daß die relevanten Teile entweder in Asm
>implementiert sind oder auf Co-Prozessoren ausgelagert wurden, deren
>Programm ebenfalls in Asm (deren dann natürlich) geschrieben ist.

Mag sein. Geht aber wie immer an der Kernfrage vorbei.

Eine millionfach benutzte Bibliothek kann man bis zum letzten 
ausquetschen und optimieren, wenn es sein muss auch in ASM. Dort lohnt 
sich das.
Für Anwenderprogramme, die meist individuell und NICHT massenhaft 
Verbreitung finden (Hobby!), lohnt sich das keine Sekunde.

Goldene Regel der Software.

"90% der CPU-Zeit werden in 10% des Codes verbraucht."

Die muss man finden und optimieren. Dafür reicht meisten C. Der Rest 
muss nur logisch korrekt laufen.

>Und alle Versuche der GPU-Hersteller, den C-Wichsern gefällig zu sein,

contenance, s'il vous plaît!

>indem eine C-ähnliche Sprache zu Programmierung der GPUs propagiert
>wird, zeigt auch nur erneut, daß die Vermeidung dieser unnötigen
>Abstraktionsebene mehr (teils sogar ganz erheblich mehr) Leistung auch
>aus solchen Co-Prozessoren quetscht.

Das einzige was ich hier am Quetschen sehe ist dein Großhirn.

>Das alles erklärt übrigens auch die Vorliebe Falks für die Megas und
>seine Abneigung gegen die Tinys.

Immer auf die Kleinen! Rassist! Mein Gott, was ist in deiner Kindheit 
schief gelaufen?

> Die kleinen Dinger zwingen ihn wohl
>viel zu oft, sein heißgeliebtes, aber räudig ineffizientes C-Geschwurbel
>zu verlassen...

Hast du eine Ahnung, wieviele Tinys ich schon erfolgreich auch in C 
programmiert habe.

"Vergib ihnen Herr, denn sie wissen nicht was sie tun."

>C ist für die Leute, die zu dumm oder zu faul sind, wirklich effizientes
>Lösungen auf die Beine zu stellen.

;-)

> Für wirklich effizente Lösungen führt
>an Asm kein Weg vorbei. Und wenn Effizienz kein Rolle spielt, kann man
>einfach richtige Hochsprachen verwenden, ist also auch durch mit C. C
>ist einfach komplett über.

Wie meinen?

>Natürlich: Sieht man sich die objektive Realität an, scheint das nicht
>so zu sein.

Um Gottes Willen! Die OBJEKTIVE Realität? Die gehört VERBOTEN!

> Das liegt aber nur daran, daß diese objektive Relität zu
>einem guten Teil von den nicht gerade sehr objektiven "C-Likern" geformt
>wird...

Andere nennen es die normative Kraft des Faktischen.
Aber Realitätsverweigerung ist keine Erfindung der Neuzeit.

>Zu denen wohl auch der gute Falk gehört...

Because I can! Get some balls, dude!

P.S. Hallo liebe Mods, bitte nicht schon wieder löschen. Sonst können 
wir uns gleich rosa Tütüs anziehen und uns alle schrecklich lieb haben. 
Danke.

P P S Ein bisschen Spass muss sein!

https://www.youtube.com/watch?v=x2dTtjXDIn4

von Falk B. (falk)


Lesenswert?

@ STM32Jubelperser (Gast)

>Dann würde ich dir einen STM32F4 empfehlen! Das ist heute Standart!

Nein, das ist auch heute eher Standard.

>Der ist total super schnell, hat die vollen 32Bit und ist überhaupt
>Millionenmal besser als andere.

Ganz klar!

> Und voll super für Anfänger - man
>braucht nur 2 Wochen, bis die erste LED leuchtet.
>CUBE alleine liefert Knobelspass für Jahre!
>;-)

Aha.

von Frank K. (fchk)


Lesenswert?

c-hater schrieb:
> Falk Brunner schrieb:
>
>> Schön, aber du will mittel-lang fristig sinnvolle Fähigkeiten aufbauen.
>> Also C. Vergiss ASM, das lohnt sich nicht wirklich.
>
> Schwachsinn.
>
> Nur in Asm ist es möglich, immer den kleinsten µC zu wählen, der die
> gegebene Aufgabe noch zu leisten vermag.

Richtig. Und wer bezahlt den Entwicklungsaufwand dafür?

In Massenprodukten wie Tamagochis, Consumerelektronik oder so ja. 
Automotive: würden sie gerne auch, wenn dann der formale Nachweis der 
funktionalen Sicherheit nicht schwieriger werden würde -> ISO26262

Alles andere: nein. Ist wirtschaftlich nicht sinnvoll. Die Realität ist 
eben so, ob sie Dir passt, oder nicht.

fchk

von Stephan B. (matrixstorm)


Lesenswert?

Hallo Rene.

Wenn du zunaechst dich nur in AVR Assembler ueben willst brauchst du ja 
am Anfang nicht viel Speicher/RAM.

Ein ATmega8 duerfte also locker erstmal fuer dich reichen.

Ich biete ich dir gegen Warensendung-Briefmarke einen Bausatz meines 
tinyUSBboards an: http://matrixstorm.com/avr/tinyusbboard/

Auf dem Board hast du dann gleich auch ein paar LEDs zum ansteuern und 
einen Button zum testen.
Ausserdem ist es ueber USB programmierbar und du kannst dich ganz auf 
das Programmieren konzentrieren.

MfG

: Bearbeitet durch User
von go MSP (Gast)


Lesenswert?

@Rene
Wie du schön erkennen kannst, sind die Mikrocontrolleaner eine ganz 
besondere Spezies. Soziale Kompetenz wird gegen C-Code getauscht.

Also entscheide selbst: Entweder bleibst du ein cooler Typ oder du wirst 
zum Nerd, der alle anderen Nerds hasst. ;-)

von Moby (Gast)


Lesenswert?

Falk Brunner schrieb:
> Vergiss ASM, das lohnt sich nicht wirklich.

Wenn sich etwas lohnt dann ist das Asm. Und zwar mit einfachen AVRs. Das 
dürfte für den Bastlerbedarf locker reichen.

Rene S. schrieb:
> Ich habe jetzt zwar noch kein
> großes Projekt, aber ich möchte mich mit der Materie auseinander
> setzten

Allerdings weiß ich nicht wo dann die nötige Dauermotivation ohne eigene 
Projektideen herkommen soll.

von Falk B. (falk)


Lesenswert?

@ Moby (Gast)

>> Vergiss ASM, das lohnt sich nicht wirklich.

>Wenn sich etwas lohnt dann ist das Asm. Und zwar mit einfachen AVRs. Das
>dürfte für den Bastlerbedarf locker reichen.

Meldet sich nach dem ASM-Marchavelli nun auch Kardinal Richelieu zu 
Wort?

Oder eher Louis XIV?

Der AVR bin ich!

von Rene S. (deadc0de)


Lesenswert?

Also, Motivation habe ich genug. Ich habe als Forscherdrang Motivation. 
Dies soll kein Glaubenskrieg werden. Ich möchte ASM lernen. ATMEL ASM 
erscheint mir sinnvoll zum Einstieg. Und nein, ich sehe es nicht als 
Zeitverschwendung, denn so lerne ich sehr viel über Low-Level 
Programmierung. Wenn mich das nerdig macht, sei es so. Aber ich habe 
Spaß dabei.

von Moby (Gast)


Lesenswert?

Der verstehen-wollende Einsteiger sollte unbedingt am Boden der 
Tatsachen beginnen. Daß ein Betriebssystem hierfür die Sicht vernebelt 
hat der TO ja schon richtig erkannt. Ähnlich ist es mit der 
Hochsprachen-Verwendung zum Einstieg. Mit Asm und dem Manual seines 
Wunsch-Controllers hat man gerade alles unbedingt Nötige zum 
Grundverständnis eines uC Systems beisammen. Nun kann man auf dieser 
stabilen Grundlage zu der Erkenntnis kommen, daß höhere Sprachen zur 
Realisierung vorhandener Projektideen letztlich nur mehr Aufwand in 
Controller Hard- und Hochsprachen /Entwicklungsumgebungs- Software 
bedeuten ;-)

von der andere Sven (Gast)


Lesenswert?

Rene S. schrieb:
> Dies soll kein Glaubenskrieg werden. Ich möchte ASM lernen. ATMEL ASM
> erscheint mir sinnvoll zum Einstieg. Und nein, ich sehe es nicht als
> Zeitverschwendung, denn so lerne ich sehr viel über Low-Level
> Programmierung.

Assembler und AVR gibt es hier: 
https://guloshop.de/shop/Mikrocontroller-Programmierung/gulostart-Mikrocontroller-Einsteigerset::45.html

Kenne das aber nur vom hören sagen, soll angeblich gut sein.

von Bastler (Gast)


Lesenswert?

Lerne ASM, das verbessert das Verständnis für die Hardware.

Nur werden hier Threads, in denen es um ganz andere Fragen geht, immer 
wieder vom "Walfisch" und dem "Mr.Hass" heimgesucht. Mit immer den 
selben "Argumenten":
ASM ist viel einfacher als jede Hochsprache, denn man weiß eh nie was 
ein Compiler so macht.
ASM erlaubt die Wahl des kleinst möglichen Chip, so daß man keine 3€, 
sondern nur 90ct ausgeben muß. Macht bei Bastler-Jahres-Produktion einen 
fast 2-Satelliten Eurobetrag. Dafür lohnt es sich auf die 
(produktivitäts-)Vorteile einer Hochsprachen zu verzichten. (kann Spuren 
von Ironie enthalten)

Und deshalb die leicht genervte Reaktion auf ASM.

von Frank K. (fchk)


Lesenswert?

Rene S. schrieb:
> Also, Motivation habe ich genug. Ich habe als Forscherdrang Motivation.
> Dies soll kein Glaubenskrieg werden. Ich möchte ASM lernen. ATMEL ASM
> erscheint mir sinnvoll zum Einstieg. Und nein, ich sehe es nicht als
> Zeitverschwendung, denn so lerne ich sehr viel über Low-Level
> Programmierung. Wenn mich das nerdig macht, sei es so. Aber ich habe
> Spaß dabei.

Dann mach das. Ich würde einen mit JTAG nehmen, denn mit JTAG kannst Du 
richtig schön in den Prozessor reinschauen, dir Register und Speicher 
anschauen und ändern, Programme im Einzelschritt laufen lassen, 
Anhaltpunkte setzen und vieles mehr. Natürlich ginge es auch, d.h. 
Binärfile bauen, programmieren, schauen ob läuft, etc etc, aber ist eher 
Blindflug. Wer es einmal anders kennen gelernt hat, will nie wieder 
ohne. Auf anderen Plattformen (PIC, ARM) ist das ohnehin Standard.

Für Dich wäre vielleicht ein JTAGice mk II am vorteilhaftesten, weil es 
auch noch mit dem AVRStudio 4 geht. Nachteil: sehr aufwendig aufgebaut, 
komplexe Hardware, daher sehr teuer. Ich habe für meines damals über 
300€ bezahlt - netto (über meine 4ma). Die neuen JTAGice3 und ATmel-ICE 
können mehr, kosten nur noch ein Bruchteil des alten JTAGice2 (<100€), 
aber du brauchst das dicke Atmel Studio, das AVRSTudio 4 wird es niemals 
mehr können. Das allererste JTAGice (1, noch ohne USB) kaufst Du nicht, 
das kann nur einen sehr eingeschränkten Satz an Prozessoren.

fchk

von Uwe (Gast)


Lesenswert?

Leute,

Rene S. schrieb:
> Dies soll kein Glaubenskrieg werden. Ich möchte ASM lernen.

Bitte beachtet das! Das hat der Rene von Anfang an gesagt. Jemandem 
lediglich die Ziele auszureden ist bei solchen Fragen weiß Gott keine 
sinnvolle Beratung. Das macht man nur zum Start eines Glaubenskriegs.

Persönlich halte ich es für richtig, die Grundlagen von Mikrocontrollern 
erst einmal mit Assembler kennen zu lernen. Man fängt in der Schule auch 
nicht mit dem Taschenrechner an, ohne vorher das schriftliche Rechnen 
gelernt zu haben. (Wobei ich zu meinem Schrecken gehört habe, dass sich 
das teilweise tatsächlich auch schon ändert.)

Ich habe schon viel, auch recht komplexe Projekte in Assembler auf 
verschiedenen Prozessoren gemacht, nur das komplexeste von allen in C. 
Trotzdem (oder gerade deswegen) habe ich C nicht lieben gelernt. Aber 
ich respektiere die Argumente dafür. Sie sind auch korrekt. Aber noch 
lange nicht so allein selig machend, dass man diejenigen, die das etwas 
differenzierter sehen, für bekloppt erklären könnte.


Grüße, Uwe

von MWS (Gast)


Lesenswert?

Falk Brunner schrieb:
> @ Moby (Gast)
> Meldet sich nach dem ASM-Marchavelli nun auch Kardinal Richelieu zu
> Wort?

Für den, der Zeit und Muße hat, ist da Erlernen von ASM höchst nützlich. 
Selbst wenn man später in einer Hochsprache seiner Wahl schreibt, so 
kann man das Erzeugnis des Compilers lesen und verstehen, Fehler des 
Compilers entdecken und damit auch eigene Fehler besser verstehen.

Und da ASM auch bei verschiedenen Prozessoren eine ähnliche 
Grundstruktur hat, so ist das Erlernen eines bestimmten Befehlssatzes 
keine verlorene Zeit und hilft beim nächsten Prozessor wieder.

8Bit AVRs sind gut überschaubar, es sind gute Tools verfügbar und 
aufgrund ausreichender Verbreitung kann Hilfe problemlos gefunden 
werden. Diese AVRs sind empfehlenswert und mit ASM anzufangen ist aus 
den beschrieben Gründen auch eine gute Idee.

von Bastler (Gast)


Lesenswert?

Moby hat aber gar keine Zeit, denn er befindet sich im heiligen Krieg 
gegen alle Compiler-Nutzer ;-)

von Falk B. (falk)


Lesenswert?

@Bastler (Gast)

>Moby hat aber gar keine Zeit, denn er befindet sich im heiligen Krieg
>gegen alle Compiler-Nutzer ;-)

Ein anderes Wort für Warmduscher und Schattenparker!

HUGH

von Moby (Gast)


Lesenswert?

Bastler schrieb:
> Nur werden hier Threads, in denen es um ganz andere Fragen geht, immer
> wieder vom "Walfisch" und dem "Mr.Hass" heimgesucht. Mit immer den
> selben "Argumenten":

Die sind eben einfach zeitlos... solange es denn keine intelligentere 
Hardware gibt und sich die Weiterentwicklung der aktuellen nur auf mehr 
Leistung und mehr Flexibilität beschränkt, um den Bedürfnissen der 
Hochsprachenprogrammierung hinterherzuhecheln und der 
Konfiguritiskrankheit zu frönen.
Sind wir mal alle dankbar, daß es mit den 8-Bittern relativ einfache 
Controller gibt die man auch noch mit wenigen Dutzend Instruktionen 
100%ig selbst kontrollieren kann. In Super-Speed und auf minimalem 
(Flash) Raum.

von Falk B. (falk)


Lesenswert?

In meinem Staate kann jeder nach seiner Façon selig werden.

Friedrich II., der Große (1712 - 1786), preußischer König, genannt »Der 
alte Fritz«

von Bastler (Gast)


Lesenswert?

Und die der jeweils anderen Façon selig sein lassen!

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.