Forum: Mikrocontroller und Digitale Elektronik 8015 Microkontroller-Familie


von Nina (Gast)


Lesenswert?

Hallo,

ich möchte mich mehr mit Microkontrollern beschäftigen und würde gerne 
wissen ob es sich mehr lohnt AVR Microkontroller oder der 8015 Reihe zu 
arbeiten.
Oder spielt es keine Rolle?
Ich habe bisher nur ein paar kleine Projekte mit einem Arduino Bausatz 
gemacht um mich an das Gebiet ranzutasten und würde mich gerne weiter in 
die Microkontroller Programmierung einarbeiten.

Ich hoffe auf ein paar hilfreiche Antworten mit guten Argumenten

von Dr. MIPS (Gast)


Lesenswert?

Eine kurze Suche im Forum bringt Dir etliche Threads zum Thema.
Das wurde bereits erschöpfend diskutiert.

Oder ist das nur der übliche Freitags-Provokationsversuch?

von Franz B. (rcs)


Lesenswert?

Such mal unter 8051, nicht 8015.

von Nina (Gast)


Lesenswert?

Dr. MIPS schrieb:
> Oder ist das nur der übliche Freitags-Provokationsversuch?

Nein das ist eine ernsthaft gemeinte Frage, ich konnte in der Suche 
nichts finden und frage deshalb :)
Ich hab gedacht das es hier bestimmt den ein oder anderen qualifizierten 
Rat gibt ;)

von Basti (Gast)


Lesenswert?

Ich empfehle den 0815.

von Hannes L. (hannes)


Lesenswert?

Basti schrieb:
> Ich empfehle den 0815.

Jou, sind dieselben Ziffern und auch dieselbe Quersumme. Kann also nicht 
falsch sein... ;-)

...

von W.S. (Gast)


Lesenswert?

Nina schrieb:
> ich möchte mich mehr mit Microkontrollern beschäftigen und würde gerne
> wissen ob es sich mehr lohnt AVR Microkontroller oder der 8015 Reihe zu
> arbeiten.

Schau in die jeweiligen Datenblätter und Referenzmanuals und triff dann 
deine Entscheidung selbst. Manche mögen dies, andere das.

W.S.

von Georg G. (df2au)


Lesenswert?

Du hast Arduino Erfahrungen. Also solltest du mit den AVR Typen 
weitermachen, denn du kannst die vorhandenen Werkzeuge nutzen.

Auch, wenn hier ab und an Glaubenskriege geführt werden, der CPU Typ ist 
relativ unwichtig für die meisten Projekte.

von Peter D. (peda)


Lesenswert?

Wenn man in Assembler reinschnuppern will, dann ist der 8051 die erste 
Wahl. Gegen so einen durchdachten, kompakten und einfachen Befehlssatz 
kommen PIC und AVR lange nicht an.
Mächtige Befehle für Bitmanipulationen, schön kompakte Befehle für 
Schleifen, Verzweigungen und Tabellenzugriffe, sogar Mul und DIV gibt es 
und die meisten Befehle gehen direkt im RAM bzw. auf IO-Register.

Auch die 4 Interruptprioritäten sind sehr nützlich. Z.B. kann man das 
zeitkritische 1-Wire in SW implementieren, ohne das andere Interrupts 
das Timing stören.
Von den Compilern gibt es Demoversionen mit Codelimit.
Für die Silabs 8051 kann man sogar den Keil als Vollversion bekommen, 
wenn man sich registriert.

Da die 8051 sich nur im Includefile unterscheiden, kann man mit jedem 
C51-Compiler auch jeden anderen 8051 programmieren bzw. simulieren. Nur 
das Debuggen bzw. Codebanking (>64kB) ist für die Derivatfamilien 
speziell.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Wenn man in Assembler reinschnuppern will, dann ist der 8051 die erste
> Wahl. Gegen so einen durchdachten, kompakten und einfachen Befehlssatz
> kommen PIC und AVR lange nicht an.
Mir gefällt der Akku nicht. Da war der AVR mit seinem 32er-Registersatz 
eine helle Erleuchtung...

> Mächtige Befehle für Bitmanipulationen, schön kompakte Befehle für
> Schleifen, Verzweigungen und Tabellenzugriffe, sogar Mul und DIV gibt es
> und die meisten Befehle gehen direkt im RAM bzw. auf IO-Register.
Allerdings fällt man dann auf die Nase, wenn man diesen Befehlssatz 
auf eine andere, moderne Architektur ummünzen muß.

von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> Mir gefällt der Akku nicht.

Der Akku wird ja fast nur für die Grundrechenarten (+-*/) gebraucht und 
das ist in Steuerungen selten die Hauptsache. Daher habe ich das nicht 
als Flaschenhals bemerkt, sondern viele Variablenoperationen direkt in 
Registern bzw. SRAM durchgeführt.

Lothar M. schrieb:
> Allerdings fällt man dann auf die Nase, wenn man diesen Befehlssatz
> auf eine andere, moderne Architektur ummünzen muß.

Wer vorhat, mehrere Architekturen zu benutzen, der sollte C nehmen.
Ich meinte mit "reinschnuppern" auch eher, um mal zu verstehen, wie so 
ein MC tickt.
Ich rate heutzutage keinem mehr, größere Projekte in Assembler zu 
schreiben, das ist vergeudete Zeit.

von Verwundert (Gast)


Lesenswert?

Ein Admin eröffnet den GK?
Na denn, AVR und 8051 sind alte Kamelen. Die alte Timerei vom 8051 und 
die veralteten Programmier- und Debugmethoden vom AVR sprechen Bände. 
Nimm was modernes, nimm was Vernünftiges: ARM Cortex, MS430.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Verwundert schrieb:
> Ein Admin eröffnet den GK?
Admin != Moderator
Und nur wer unbedingt gegen irgendwas oder für irgendwen kämpfen will, 
eröffnet einen Krieg.
Mir ist es nicht wert, um eine uC Architektur zu kämpfen. Dazu habe ich 
schon zu viele verschiedene verwendet und bin mit jeweils jedem uC zum 
jeweiligen Ziel gekommen...

> Na denn, AVR und 8051 sind alte Kamelen
Aber genau nach diesen beiden uC hat der TO gefragt.

Nina schrieb:
> Ich habe bisher nur ein paar kleine Projekte mit einem Arduino Bausatz
> gemacht um mich an das Gebiet ranzutasten und würde mich gerne weiter in
> die Microkontroller Programmierung einarbeiten.
Man kann sogar damit und mit einem vernünftigen Programmierstil etwas 
sinnvolles machen. Allerdings sind gefühlte 95% der im Netz 
herumfliegenden "Arduino-Programme" die Bits nicht wert, die sie im 
Speicher belegen. Ich sage z.B. meinen daraufhin sichtlich schockierten 
Praktikanten: ein "delay()" ist ein Programmfehler!

Peter D. schrieb:
> Ich meinte mit "reinschnuppern" auch eher, um mal zu verstehen, wie so
> ein MC tickt.
Da stimmt es allerdings, wenn es ums Verstehen geht: der 51er mit seiner 
überschaubaren Peripherie ist leichter zu kapieren.
Wenn es aber um den Nutzen geht: alle modernen Architekturen sind wie 
der AVR registerorientiert.

: Bearbeitet durch Moderator
von Verwundert (Gast)


Lesenswert?

>> Na denn, AVR und 8051 sind alte Kamelen
> Aber genau nach diesen beiden uC hat der TO gefragt.
Na und, bestimmt kennt der TO die richtig guten uC gar nicht. Die 
meisten setzen hier Atmel mit AVR gleich, ein beschränkter Horizont 
halt. Den gilt es zu erweitern. Und daher muss man auf bessere moderne 
uC Hinweisen, die speziell für Anfänger weniger Fehler Potential, 
komfortablere Handhabung bieten

von Claus M. (claus_mueller) Benutzerseite


Lesenswert?

Verwundert schrieb:
>>> Na denn, AVR und 8051 sind alte Kamelen
>> Aber genau nach diesen beiden uC hat der TO gefragt.

Dann schmeiße ich mal diesen hier in die Runde: STM32F030

Ein kleiner Cortex-M0. Günstig, schnell, kostenlose IDE in Massen (ja, 
auch Keil MDK-ARM gehört dazu), zahlreiche Debugger (der ST-Link ist für 
den Anfang sicherlich nicht schlecht), moderne Architektur, etc.

Nina schrieb:
> Oder spielt es keine Rolle?

Jepp. Wenn man gewillt ist was zu lernen, so ist die Architektur relativ 
egal. Kennt man einen sehr gut, so fällt der Umstieg auf andere ziemlich 
leicht.

Nina schrieb:
> Ich habe bisher nur ein paar kleine Projekte mit einem Arduino Bausatz
> gemacht um mich an das Gebiet ranzutasten und würde mich gerne weiter in
> die Microkontroller Programmierung einarbeiten.

Schon mal ein guter Anfang. Pass nur auf, dass der Arduino nicht deinen 
(noch nicht wirklich entwickelten) Programmierstil für immer versaut. 
Wärst nicht der Erste, dem das passiert.

von W.S. (Gast)


Lesenswert?

Claus M. schrieb:
> Dann schmeiße ich mal diesen hier in die Runde: STM32F030

Aber nicht, um die Grundlagen zu erlernen.

Der Tip mit dem 8051 ist schon ganz gut. Ebenfalls ganz gut - wenn auch 
ein bissel "anders" sind die kleinen PIC's, also 16Fxyz.

Bei beiden Architekturen kann man sehr gut die Grundlagen und Assembler 
lernen. Das ist wichtig.

Ja wichtig.
Man sehe sich in diesem Forum mal um: all diejenigen, die Probleme haben 
mit dem Grundverständnis und sogar mit simpelsten Konstrukten in C sind 
diejenigen, die noch nie ihre Nase mal in Assembler gesteckt haben. 
Geschweige denn in die Manuals zu ihren Bastelobjekten. Es fehlen halt 
die Grundlagen.

Aber Maschinenbefehle und Assembler für ARM ist denn doch für den 
Einstieg nicht das geeignetste. Ist zwar alles durchaus logisch 
aufgebaut, aber dennoch für den Anfang zuviel.

von Verwundert (Gast)


Lesenswert?

W.S. schrieb:
> Bei beiden Architekturen kann man sehr gut die Grundlagen und Assembler
> lernen. Das ist wichtig.

Watt ein Blödsinn, watt ein Gefasel der ewig gestrigen. Die Erde dreht 
sich weiter und heute programmiert man in Hochsprache.

von Michael U. (amiga)


Lesenswert?

Hallo,

Verwundert schrieb:
> W.S. schrieb:
>> Bei beiden Architekturen kann man sehr gut die Grundlagen und Assembler
>> lernen. Das ist wichtig.
>
> Watt ein Blödsinn, watt ein Gefasel der ewig gestrigen. Die Erde dreht
> sich weiter und heute programmiert man in Hochsprache.

eigetnlich warte ich auf den Tag, wo es keine neuen Prozessoren und 
Compiler mehr gibt, weil kein Programmierer den Kram, der da erzeugt 
wird, mehr lesen kann.

Vermutlich gibt es dann aber Transistoren, die nicht nur 0 und 1 als 
Zustand können sondern auch geschweifte Klammern.

Gruß aus Berlin
Michael

von Rolf Magnus (Gast)


Lesenswert?

Verwundert schrieb:
> W.S. schrieb:
>> Bei beiden Architekturen kann man sehr gut die Grundlagen und Assembler
>> lernen. Das ist wichtig.
>
> Watt ein Blödsinn, watt ein Gefasel der ewig gestrigen. Die Erde dreht
> sich weiter und heute programmiert man in Hochsprache.

Es geht ja auch nicht darum, nachher alles in Assembler zu schreiben, 
sondern darum, zu verstehen, wie der Prozessor so arbeitet. Aber ich 
merke auch schon, dass tieferes Verständnis heutzutage total out ist.
Merkt man auch öfters mal in Autowerkstätten, wo dann nur noch per 
Diagnose Fehler ausgelesen und darauf basierend dann irgendwelche Teile 
getauscht werden, ohne wirklich mal zu suchen, was die tatsächliche 
Ursache ist. Oder die Diagnose meldet keinen Fehler, also ist da per 
Definition auch keiner.

von (prx) A. K. (prx)


Lesenswert?

Michael U. schrieb:
> Vermutlich gibt es dann aber Transistoren, die nicht nur 0 und 1 als
> Zustand können sondern auch geschweifte Klammern.

Hochsprachenelemente in Silizium zu giessen wurde schon gelegentlich 
versucht, war aber letztlich nie auf Dauer erfolgreich. Es erwies sich 
als sinnvollere Arbeitsteilung, den Prozessoren die Grundoperationen der 
eingesetzten Technik beizubringen, und den Compilern die Hochsprachen zu 
überlassen.

: Bearbeitet durch User
von Verwundert (Gast)


Lesenswert?

Du wirst nicht wünschen, dass die Werkstatt mit Ahnung ein Pleul 
tauscht. Denn das möchtest du nicht bezahlen.

Die breite Masse der Hobbybastler braucht kein asm. Wer Spaß hat, sich 
auf genau eine Archtektur zu versteifen, kann ja den Befehlssatz 
auswendig lernen. Für die jenigen, für die der uC nur Mittel zum Zweck 
ist, die interessante Projekte umsetzen, ist am überflüssig.

von Hannes L. (hannes)


Lesenswert?

Verwundert schrieb:
> kann ja den Befehlssatz
> auswendig lernen.

Schwachsinn, man muss ihn verstehen und auch anwenden können.

...

von (prx) A. K. (prx)


Lesenswert?

Verwundert schrieb:
> Für die jenigen, für die der uC nur Mittel zum Zweck
> ist, die interessante Projekte umsetzen, ist am überflüssig.

Grundkenntnisse in Assembler sind beim Debugging durchaus hilfreich. Man 
muss dafür nicht in Assembler programmieren können, sollte aber in der 
Lage sein, vom Compiler erzeugten Code leidlich lesen zu können.

: Bearbeitet durch User
von Verwundert (Gast)


Lesenswert?

Hannes L. schrieb:
> Schwachsinn, man muss ihn verstehen und auch anwenden können.

Das ist jetzt nicht dein Ernst, oder? Der Befehlssatz ist vom Hersteller 
vorgegeben. Du kombinierst ihn, um daraus deinen Ablauf, deine 
Berechnungen, ... Zu erzeugen. Dafür musst die Befehle kennen, 
auswendig. Was gibt es beim add oder sub zu verstehen? Musst du ein + 
oder- auch verstehen?

Macht doch bitte Selbstverständlichkeiten nicht so wichtig.

von (prx) A. K. (prx)


Lesenswert?

Verwundert schrieb:
> Was gibt es beim add oder sub zu verstehen? Musst du ein +
> oder- auch verstehen?

Das kann aber einfacher oder komplizierter sein. AVR ist dahingehend 
(meist) ziemlich einfach lesbar, Cortex M0 ebenso. Wer die kennt, der 
kann zur Not auch MIPS Code einigermassen lesen, ohne sich allzu lange 
damit befassen zu müssen

8-Bit PICs hingegen verwenden eine Mnemotechnik und Zusammenhänge, sich 
nur Eingeweihten erschliessen. Die liegen damit ziemlich quer zum Rest 
der Welt und die Kenntnis anderer Akkumulator-Architekturen wie 8051 
hilft auch nur begrenzt weiter.

: Bearbeitet durch User
von Verwundert (Gast)


Lesenswert?

Und deshalb schreibt man einfach + in Hochsprache.

Danke für das schöne Beispiel. Es zeigt, wie unsinnig am für die meisten 
ist.

von chris (Gast)


Lesenswert?

Verwundert schrieb:
> Die breite Masse der Hobbybastler braucht kein asm.

mmhhh nö gerade weil asm so einfach ist und nur das ausführt was man 
eingibt, finde ich es genial. Vor allem als Anfänger sind die 
Randbedingungen recht klein gehalten im Gegensatz zu Hochsprachen.

> Wer Spaß hat, sich
> auf genau eine Archtektur zu versteifen, kann ja den Befehlssatz
> auswendig lernen.

Naja so viel unterschiede gibs dort nun auch nicht ob nu AVR, Pic, 8051 
- Asm ganz ehrlich recht leicht zu erlernen und man muss sich nicht nur 
auf eine Achitektur versteifen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Verwundert schrieb:
> Und deshalb schreibt man einfach + in Hochsprache.
Und ohne Nachzudenken vor und hinter diesem "einfachen" + ein float oder 
noch besser (weil genauer) ein double.
Und dann wundert man sich, warum der uC so langsam ist. Ich hätte schon 
solche Bacheleranden und Masteranden. Und erst nachdem Ich die 
struktuellen Fehler mal aufgezeigt hatte und die behoben waren, war 
auf einmal sogar noch Rechenzeit für Anderes...

von Verwundert (Gast)


Lesenswert?

Du hast die ganzen Programme auf asm umgestellt? Wenn nicht, triffst du 
genau den Kern: Immer schön auf die Aufgabe konzentrieren und nicht aufs 
Werkzeug.

Die Masse hier dürfte einen Akkuschrauber nutzen. Aber ein paar Prediger 
raten ab und schwören auf den mehrfach angeschliffenen Schraubendreher 
mit Holzgriff.

von Carl D. (jcw2)


Lesenswert?

> Die Masse hier dürfte einen Akkuschrauber nutzen. Aber ein paar
> Prediger raten ab und schwören auf den mehrfach angeschliffenen
> Schraubendreher mit Holzgriff.

Nein, Lothar meint nur, daß es gut wäre die Bits (beim Akkuschrauber) 
unterscheiden zu können.

Meine Frau benutzt auch einen Akkuschrauber, wird aber nie den 
Unterschied zwischen Phillips und Pozi verstehen, da sie Schrauben nicht 
interessieren. Und jemand anderer die vermurksten Dinger ausbohren darf.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Nina schrieb:
> Ich habe bisher nur ein paar kleine Projekte mit einem Arduino Bausatz
> gemacht um mich an das Gebiet ranzutasten und würde mich gerne weiter in
> die Microkontroller Programmierung einarbeiten

Dann bleib beim Arduino also AVR, den du schon hast, so lange er dir 
reicht.

Der 8051 steckt zwar in vielen Systemen als embedded Chip drin (z.B. 
FTDI232R den die Leute hier so gern benutzen und der auch auf dem 
Arduino sitzt) aber wenn es keinen Grund gibt sich mit 8051 zu 
beschäftigen, versäumst du nichts.

Und ARM Cortex STM sind zwar leistungsfähiger, aber wenn es nur um 
Leistungsfähigkeit geht tut es auch dein PC.

Der AVR ist gut zum übrr, als Arduino über USB zu programmieren, und 
reicht für Vieles aus.

von Verwundert (Gast)


Lesenswert?

Carl D. schrieb:
> Nein, Lothar meint nur, daß es gut wäre die Bits (beim Akkuschrauber)
> unterscheiden zu können.
>
> Meine Frau benutzt auch einen Akkuschrauber, wird aber nie den
> Unterschied zwischen Phillips und Pozi verstehen, da sie Schrauben nicht
> interessieren.

Genau das schreib ich doch: Hochsprache nehmen und sich um die 
Aufganstellung kümmern. Natürlich muss ich die Hochsprache können, 
wissen wie man den Akku lädt und die Bits tauscht.

Und wer die falschen Bits nimmt, nimmt auch den falschen 
Schraubendreher. Ist also kein guter Vergleich.

von Claus M. (claus_mueller) Benutzerseite


Lesenswert?

MaWin schrieb:
> Und ARM Cortex STM sind zwar leistungsfähiger, aber wenn es nur um
> Leistungsfähigkeit geht tut es auch dein PC.

Äpfel, Birnen.... Hmmmm. Aber egal, jeder hat so seine Meinung.

von Falk B. (falk)


Lesenswert?

Warum soll man heute noch des kleine 1x1 und Kopfrechnen lernen, wo es 
doch Computer und Smartphones gibt?

von Verrwundert (Gast)


Lesenswert?

Falk B. schrieb:
> Warum soll man heute noch des kleine 1x1 und Kopfrechnen lernen,
> wo es doch Computer und Smartphones gibt?

Macht man ja auch nicht mehr. Die Kids fangen früher mit den 
Taschenrechnern an und die Dinger können viel mehr als früher. Eine ganz 
normale Entwicklung, wie bei den uC auch.

von Verrwundert (Gast)


Lesenswert?

Ach ja, rechnest du noch alles mit Logarithmustabelle und Messschieber? 
Weil dem PC und Smartphone misstraust? Die App werden nicht in ASM 
geschrieben. ;-)

von Michael L. (michaelx)


Lesenswert?

Verrwundert schrieb:
> Falk B. schrieb:
>> Warum soll man heute noch des kleine 1x1 und Kopfrechnen lernen,
>> wo es doch Computer und Smartphones gibt?
>
> Macht man ja auch nicht mehr. Die Kids fangen früher mit den
> Taschenrechnern an und die Dinger können viel mehr als früher.

Nur die Kinder nicht ... :-^

von Verrwundert (Gast)


Lesenswert?

Die Welt dreht sich weiter, mit euch, ohne euch und ASM hat an 
Stelkenweert verloren, wurde durch Hochsprachen ersetzt.

Und nein, ich kann heute nicht mehr mit einem Rechenschieber umgehen. 
Ich habe auch nie vermisst.

von Michael U. (amiga)


Lesenswert?

Hallo,

Verrwundert schrieb:
> Ach ja, rechnest du noch alles mit Logarithmustabelle und
> Messschieber?
> Weil dem PC und Smartphone misstraust? Die App werden nicht in ASM
> geschrieben. ;-)

Man muß dem PC und dem Smartphone genauso mißtrauen können wie 
Logarithmustabelle und Rechenschieber.

Man muß sich daran erinnern können, weshalb es sinnvoll ist einen 
Überschlag zu machen, die Fehlergrenzen einschätzen zu können usw.

Genauso wie man auf einen kleinen AVR wie auf einen PC losgehen und dann 
weder Geschwindigkeit noch Speicherplatz reichen, genauso kann man eine 
tolle Formel in den Taschrechner tippen und dem Ergebnis blind 
vertrauen.

Auf einem AVR ein wenig Assembler zu prgrammieren zeigt schnell, daß man 
eben auf diese Grenzen achten muß. Dann denkt man auch auf einem 
größeren und in C über Registergrößen und Speicherplatz und 
Geschwindigkeit nach.

Ein 64 Bit Shift auf einem AVR in ASM ist keine Problem, in C mit dem 
GCC funktioniert es nur noch irgendwie.
Ist für einen 8-Bitter auch eher eine Zumutung wie auch ein paar andere 
Sachen. Genau das trifft aber auf alle µC oder SoC zu. Man kann einen 
anderen nehmen, aber nicht wie beim PC einen schnelleren Prozessor und 
ein paar GB Ram mehr und dann das Programm einfach darauf laufen lassen.

Wird heute aber gern gemacht. Dann gibt es TVs mit Reaktionszeiten im 
"Ewigkeitsbereich" oder Smartphones, die nach einem Update praktisch 
unbenutzbar werden, weil kritiklos jeder Unfug unbedingt noch ins System 
mußte.

Gruß aus Berlin
Michael

von Verrwundert (Gast)


Lesenswert?

Wenn der AVR so klein ist, dass ich auf jede Zeile Code achten muss, 
dass ich die Befehle abzählen muss, dass ...
Dann habe ich das falsche Design gewählt!

Die gleiche Diskussion gab es bei der PC Programmierung, bei OOP, bei 
...

von Andreas H. (ahz)


Lesenswert?

Nina schrieb:
> Oder spielt es keine Rolle?

Managment summary:
  Spielt keine Rolle.

Detailed explanation:

Da Du anscheinend gerade anfängst ist jeder uC erst mal brauchbar.

Sollte es irgendwann nicht mehr reichen, dann hast du aber mehr 
Erfahrung um Dir einen Anderen zu suchen.
Erfahrungsgemäss reichen aber die "ollen Kamellen" ziemlich lange, wenn 
man (mit zunehmendem Wissen) die implementierten Lösungen optimiert.

ASM oder nicht? Meiner Meinung nach sind Kenntnisse in Assembler für 
seriöse SW Entwicklung, zumindest im Embedded Bereich, unverzichtbar. 
Und auch ziemlich spannend.
Am Ende des Tages sollte es Dir (als Hobby-Programmierer) aber est mal 
Spass machen.
Und "falsch" geht da eigentlich fast garnicht.

Grüße
Andreas

von Verrwundert (Gast)


Lesenswert?

Andreas H. schrieb:
> Erfahrungsgemäss reichen aber
> die "ollen Kamellen" ziemlich lange,
Sind aber schwerer handzuhaben als modernere! (Darauf bezieht sich der 
Ausdruck)

von Uli, der Wilde (Gast)


Lesenswert?

Zum 8051 sollte man sich auch gleich noch einen Strick hinzubestellen. 
Die 8051 Architektur ist veraltet, die von AVR oder PIC doch schon ein 
Stueck neuer. Das erkennt man daran, dass schon der ASM Code sehr viel 
kompakter ist.
Falls AVR, vergiss die Tiny, die sind fuer sehr hohe stueckzahlen. Als 
Bastler gewinnt man nichts, wenn man 1 Euro an einem controller spart.

von ./. (Gast)


Lesenswert?

> PIC doch schon ein Stueck neuer

PICs sind aelter als Braunkohle.

Zum Lernen und Kennenlernen ist der 8051 gut geeignet.

Und: in vielen Consumergeraeten werkelt auch heute
im Hintergrund ein 8051-Core der z.B. den Hardware-MPEG2-
Dekoder konfiguriert und bei Laune haelt...

Da wird man kaum PIC- oder AVR-Cores finden.

Man macht also mit 8051 nichts grundsaetzliches verkehrt.

von Andreas H. (ahz)


Lesenswert?

Verrwundert schrieb:
> Andreas H. schrieb:
>> Erfahrungsgemäss reichen aber
>> die "ollen Kamellen" ziemlich lange,
> Sind aber schwerer handzuhaben als modernere! (Darauf bezieht sich der
> Ausdruck)

Für Dich ist ja auch ein "+" einfach nur ein "+".
Solange man die uC nur soweit einsetzt bis sie das erste Mal "warm" 
werden, ist man mit modernen uC natürlich länger auf der sicheren Seite.
Aber wo bleibt da denn der Spass?

Anyway. Der TO fängt gerade an. Da ist das was er schon hat genau das 
Richtige. Alles andere wäre mMn. Overkill.

Grüße
Andreas

von MaWin (Gast)


Lesenswert?

Uli, der Wilde schrieb:
> Zum 8051 sollte man sich auch gleich noch einen Strick hinzubestellen.
> Die 8051 Architektur ist veraltet, die von AVR oder PIC doch schon ein
> Stueck neuer.

Immer wieder derselbe Käse der hier behauptet wird.

Der PIC ist älter als der 8051.

Diesmal ohne Beleg, ich bin zu faul sie zum zehnten Mal rauszusuchen, 
such selber.

Und der ARM älter als der AVR, aber ich weiss, dass das nicht gefragt 
wurde.

von Linuxer No. 1 (Gast)


Lesenswert?

MaWin schrieb:
> Uli, der Wilde schrieb:
>> Zum 8051 sollte man sich auch gleich noch einen Strick hinzubestellen.
>> Die 8051 Architektur ist veraltet, die von AVR oder PIC doch schon ein
>> Stueck neuer.
>
> Immer wieder derselbe Käse der hier behauptet wird.
>
> Der PIC ist älter als der 8051.
>
> Diesmal ohne Beleg, ich bin zu faul sie zum zehnten Mal rauszusuchen,
> such selber.

Ist ursprünglich von General Instruments - einer Firma, die 
zwischenzeitlich vom allseits beliebten Donald Rumsfeld geleitet wurde.
Die Mikroelektroniksparte wurde abgespalten und nannte sich: 
Microchip...
Den ersten PIC gab es auf jeden Fall schon 1977, den 8051 erst 1980.

> Und der ARM älter als der AVR, aber ich weiss, dass das nicht gefragt
> wurde.

Der erst ARM kam so um 1983 rum.

von Carl D. (jcw2)


Lesenswert?

MaWin schrieb:
> Uli, der Wilde schrieb:
>> Die 8051 Architektur ist veraltet, die von AVR oder PIC doch schon ein
>> Stueck neuer.
>
> Immer wieder derselbe Käse der hier behauptet wird.
>
> Der PIC ist älter als der 8051.

8051 geb. 1980
PIC  geb. 1976

von Falk B. (falk)


Lesenswert?

@ Verrwundert (Gast)

>> Warum soll man heute noch des kleine 1x1 und Kopfrechnen lernen,
>> wo es doch Computer und Smartphones gibt?

>Macht man ja auch nicht mehr. Die Kids fangen früher mit den
>Taschenrechnern an und die Dinger können viel mehr als früher. Eine ganz
>normale Entwicklung, wie bei den uC auch.

Eine ganz normale Fehlentwicklung, in der Tat. Tasten drücken und blind 
dem Taschenrechner vertrauen, ohne zu wissen das da im Prinzip im 
mHintergrund abgeht. Das war zu meiner Zeit schon ein Problem, heute ist 
es das noch viel mehr.
Nein, ich propagiere keinen Rechenschieber und auch kein ASM. Aber 
Grundlagenwissen!!!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jeder Compiler erzeugt als Zwischenschritt Assembler. Und bisher 
brauchte ich diese Stufe bei jeder Architektur, weil bisher noch kein 
Compiler fehlerfrei war.

Man kann Assembler ignorieren so wie man eine Dichtung im Wasserhahn 
auch ignorieren kann. Aber trotzdem ist er ganz alltäglich. Und wenns 
drauf ankommt ist es gut, zu wissen, wie man die Dichtung ersetzt...

Verwundert schrieb:
> Die Masse hier dürfte einen Akkuschrauber nutzen. Aber ein paar Prediger
> raten ab und schwören auf den mehrfach angeschliffenen Schraubendreher
> mit Holzgriff.
Ich rate dazu, zu erkennen, für welche Aufgabe welche Schraube die 
richtige ist. Die stolzen Akkuschrauberbesitzer schrauben dann mangels 
weitergehenden Interesse alles mit ihren Spax zusammen, nur wiel sie 
nicht wissen, wofür die M10 Maschinenschrauben sind...

Oder andersrum: wer nur einen Hammer kennt, für den sieht die ganze Welt 
wie ein Nagel aus.

von Rolf Magnus (Gast)


Lesenswert?

Verwundert schrieb:
> Du wirst nicht wünschen, dass die Werkstatt mit Ahnung ein Pleul
> tauscht. Denn das möchtest du nicht bezahlen.

Naja, ob das so viel teurer ist, als von jemandem, der keine Ahnung hat, 
sukzessive den halben Motor tauschen zu lassen, bis der Fehler weg ist?

> Die breite Masse der Hobbybastler braucht kein asm. Wer Spaß hat, sich
> auf genau eine Archtektur zu versteifen, kann ja den Befehlssatz
> auswendig lernen.

Es ist zwar ein gängiges rhetorisches Mittel, die Argumente des Gegners 
völlig zu übertreiben, um sie als absurd hinzustellen, aber man muss 
aufpassen, dass man sich damit nicht lächerlich macht. Es wurde bereits 
erwähnt, dass das, was du da schreibst, nicht nötig ist-

> Für die jenigen, für die der uC nur Mittel zum Zweck ist, die interessante
> Projekte umsetzen, ist am überflüssig.

Das mag sein. Für viele ist der µC aber der Zweck. Sie haben Spaß daran, 
ihn zu programmieren und zu verstehen, was da unter der Haube 
passiert.

von Verwundert (Gast)


Lesenswert?

Hier im Forum kannst du gut erkennen wohin das führt. Die Jungs kennen 
nur avr und verteidigen die Dinger gegen alles und jeden. Vor einem 
halben Jahr gab es hier die cortex vs avr Threads. 32bit wurden als 
völlig überflüssig angesehen, nur was für Androiden und Co. und jetzt? 
Die Dinger sind hier total normal und finden immer mehr Interesse. Der 
avr zubehörkrams wird verkauft und man widmet sich moderner Technik.

Aber wenn der Weg das Ziel ist ...
Du müsstest dann aber einen echten Prozessor empfehlen, alles extern 
anschließen, damit man jede Einzelheit versteht. ???

von Andreas H. (ahz)


Lesenswert?

Verwundert schrieb:
> Hier im Forum kannst du gut erkennen wohin das führt. Die Jungs kennen
> nur avr und verteidigen die Dinger gegen alles und jeden.

Ich glaube da unterschätzt Du das Forum.

Viele dürften das Problem haben, einige Sachen hier einfach nicht 
ausdiskutieren zu können, weil da irgendwann auch 
Firmeninteressen/Know-How ins Spiel komt.

Darum halten sich die Leute da zurück und begrenzen sich nur auf das, 
was sie auch im Hobbybereich benutzen.

Grüße
Andreas

von Verwundert (Gast)


Lesenswert?

Nö, hier sind auch Profis unterwegs. Aber auch ganz viel Halbgares.

Und es zählt ja nur was hier steht, nicht was einer vielleicht unter 
Umständen eventuell beitragen könnte, ...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Verwundert schrieb:
> Die Jungs kennen nur avr und verteidigen die Dinger gegen alles und
> jeden.
Es bringt dann aber auch nichts, die ARM Cortex uC als alleiniges 
Allheilmittel anzupreisen. Oder gar für den Anfänger. Die kapieren ja 
schon den NVIC nicht...

> Die Jungs kennen nur avr und verteidigen die Dinger gegen alles und
> jeden.
Ich brauchte letzthin einen uC, den man parasitär über einen 10k Pullup 
eines Eingangssignals versorgen konnte: ATtiny9

Und ich brauchte einen, der einfach ein Display ansteuern kann: STM32F4

Fazit: man nimmt den uC, der die Aufgabe am besten packt.

von chris (Gast)


Lesenswert?

Verwundert schrieb:
> Aber wenn der Weg das Ziel ist ...
> Du müsstest dann aber einen echten Prozessor empfehlen, alles extern
> anschließen, damit man jede Einzelheit versteht. ???

Genau darum gehts!!!!!!!!!!!!!!!!!!!! Um Wissen zu schaffen und es zu 
verstehen.

Verwundert schrieb:
> Hier im Forum kannst du gut erkennen wohin das führt. Die Jungs kennen
> nur avr und verteidigen die Dinger gegen alles und jeden.

nope hier kennen viele ne Menge mehr und nutzen, das was man einfach 
hand haben kann. Habe z.B damals mit AVR angefangen und in der 
Ausbildung musst PIC programmiert werden. Habe beides gerne ausprobiert 
und stellte fest das ein 16f... nicht das wahre ist mit irgendwelchen 
Umschaltungen. Also blieb ich beim AVR da dieser auf allen AVR's zu 95% 
ähnlich war. Und jetzt erklär mal wenn man diesen Vorteil für sich, nur 
für sich, erkannt hat nicht nutzen soll??

MMhhhh vllt sollte man gleich mit nem Smartphone anfangen denn da brauch 
ich nur in den Appstore gehen und mir das was ich brauche ziehen denn 
insten kann jeder....

Dat Mädel möchte aber tiefer in die Programmierung einarbeiten als wäre 
es definitv falsch mit Smartphones anzufangen wenn jegliche Grundlagen 
fehlen.

UND NUR DARUM GEHTS!!!!!!!!!!!! GRUNDLAGEN LERNEN DIESE WERDEN EINEN 
NIVHT IN DIE WIEGE GELEGT.

von verwundert (Gast)


Lesenswert?

Lothar M. schrieb:
> Es bringt dann aber auch nichts, die ARM Cortex uC als alleiniges
> Allheilmittel anzupreisen.

Tja, du hast den GK eröffnet. Aber es geht nicht um: welchen uC für 
welches Projekt?
Es geht um: Ich bin Anfänger, wie kann ich (heutzutage) problemlos 
einsteigen?

Und da sind AVR nun mal nicht in der ersten Reihe. Das kannst du 
wunderschön hier im Forum erlesen.

Durch deinen das Thema verfehlenden GK hast du jetzt die AVR-Lemminge 
geweckt.
chris schrieb:
> Habe beides gerne ausprobiert
> und stellte fest das ein 16f... nicht das wahre ist mit irgendwelchen
> Umschaltungen. Also blieb ich beim AVR da dieser auf allen AVR's zu 95%
> ähnlich war.

Er kennt nix ausser AVR, er kennt nicht die einfache Handhabung anderer 
moderneren uC und gibt großspurige Tipps für Anfänger, nicht nur in 
diesem Thread.
Tolle Beratung! ;-(((

von chris (Gast)


Lesenswert?

verwundert schrieb:
> Er kennt nix ausser AVR, er kennt nicht die einfache Handhabung anderer
> moderneren uC und gibt großspurige Tipps für Anfänger, nicht nur in
> diesem Thread.
> Tolle Beratung! ;-(((

Achtung das ist eine persönliche Erfahrung jeder hat das Recht sich... 
nein falsch muss es selbst entscheiden.

Doch 8051er ,Microchip, STM, Cortex, usw usf aber sie fragte explizit 
nach 8051 VS AVR und AVR bietet definitiv eine leichten Einstieg. Es ist 
doch egal mit welchen man vom Prinzip her anfängt, viel wichtiger ist 
die Erkenntniss nach der Einarbeitung das die Dinger unterm Strich 
irgendwie ähnlich aufgebaut sind und mit diesem Wissen würde ich mir 
auch zutrauen nen Cortex oder wie dat heißt zu programmieren. Aber als 
Hobby einfach ne Nummer zu groß. BERUFLICH würde ich eher dann schon auf 
32bitter gehen aber auch dort müssen die Grundlagen sitzen und 8bit 
bietet eine verdammt übersichtliche Möglichkeit.

Hinweis PIC musste ich troztdem programmieren ;)

verwundert schrieb:
> Es geht um: Ich bin Anfänger, wie kann ich (heutzutage) problemlos
> einsteigen?
>
> Und da sind AVR nun mal nicht in der ersten Reihe. Das kannst du
> wunderschön hier im Forum erlesen.

... und nochmal es geht um GRINDLAGEN....

W.S. schrieb:
>>Claus M. schrieb:
>> Dann schmeiße ich mal diesen hier in die Runde: STM32F030

> Aber nicht, um die Grundlagen zu erlernen.
>
> Der Tip mit dem 8051 ist schon ganz gut. Ebenfalls ganz gut - wenn auch
> ein bissel "anders" sind die kleinen PIC's, also 16Fxyz.
>
> Bei beiden Architekturen kann man sehr gut die Grundlagen und Assembler
> lernen. Das ist wichtig.
>
> Ja wichtig.
> Man sehe sich in diesem Forum mal um: all diejenigen, die Probleme haben
> mit dem Grundverständnis und sogar mit simpelsten Konstrukten in C sind
> diejenigen, die noch nie ihre Nase mal in Assembler gesteckt haben.
> Geschweige denn in die Manuals zu ihren Bastelobjekten. Es fehlen halt
> die Grundlagen.
>
> Aber Maschinenbefehle und Assembler für ARM ist denn doch für den
> Einstieg nicht das geeignetste. Ist zwar alles durchaus logisch
> aufgebaut, aber dennoch für den Anfang zuviel.

PUNKT W.S. hat damit alles gesagt.

@verwundert mich würde mal interessieren wie dein Einstieg war 
Plattform/Sprache denn auch dein Wissen musstest du erlernen.

von verwundert (Gast)


Lesenswert?

chris schrieb:
> das ist eine persönliche Erfahrung
Deine einzige Erfahrung, dir fehlen Vergleichsmöglichkeiten.

chris schrieb:
> wie dein Einstieg war
> Plattform/Sprache
Ich kenne noch die Zeiten der Emulatoren mit Bond-Out-Chip oder auch nur 
für ROM. Als die ersten Flash-Controller für die breite Masse kamen, gab 
es mehr Skeptiker als Befürworter: neuer Stapel an Tools (meist 
Kommandozeile), lange Lösch- und Programmierzeiten, begrenzte 
Programmierzyklen, ...

Ist genau wie heute: Was anders (neu) ist, ist erst einmal schlecht. 
;-)))

von chris (Gast)


Lesenswert?

verwundert schrieb:
> chris schrieb:
>> das ist eine persönliche Erfahrung
> Deine einzige Erfahrung, dir fehlen Vergleichsmöglichkeiten.

Hä ließt du mal was durch???  Trollstatus wird höher....
Von dir kam bisher ja uch nischt gescheites

> chris schrieb:
>> wie dein Einstieg war
>> Plattform/Sprache
> Ich kenne noch die Zeiten der Emulatoren mit Bond-Out-Chip oder auch nur
> für ROM. Als die ersten Flash-Controller für die breite Masse kamen, gab
> es mehr Skeptiker als Befürworter: neuer Stapel an Tools (meist
> Kommandozeile), lange Lösch- und Programmierzeiten, begrenzte
> Programmierzyklen, ...
>
> Ist genau wie heute: Was anders (neu) ist, ist erst einmal schlecht.
> ;-)))

Die Kunst ist es, alt und neu optimal zu nutzen.

Ab jetzt verfehlts die Aufgabenstellung.

von verwundert (Gast)


Lesenswert?

chris schrieb:
> ja uch nischt gescheites
Ist das auch die Wertung deiner eigenen Beiträge?
Dann sind wir uns doch einig. ;-)

von Timer0 (Gast)


Lesenswert?

Lothar M. schrieb:
> Ich sage z.B. meinen daraufhin sichtlich schockierten
> Praktikanten: ein "delay()" ist ein Programmfehler!

Angenommen ich möchte ein einfaches 1602-LCD im 4-Bit-Parallel-Modus 
betreiben: Abgesehen davon, dass die korrekte Initialisierung eines 
Timers selbst für Datenblatt-Virtuosen einen Mehraufwand bedeuten 
dürfte, sehe ich hierdrin eine ziemliche Verschwendung der gegebenen 
Hardwareressourcen. Alles wird unnötig verkompliziert und 
unübersichtlicher.
Sicher setzen die meisten "Arduino-Coder" die Funktion an den falschen 
Stellen zu falschen Zwecken ein, aber von pauschalisierenden 
Rundumschlägen würde ich trotzdem lieber Abstand nehmen.

von verwundert (Gast)


Lesenswert?

Timer0 schrieb:
> pauschalisierenden
> Rundumschlägen

Ist wie beim goto.
Das endet hier persönlich. :-(

von Falk B. (falk)


Lesenswert?

@  Timer0 (Gast)


>Lothar M. schrieb:
>> Ich sage z.B. meinen daraufhin sichtlich schockierten
>> Praktikanten: ein "delay()" ist ein Programmfehler!

Jaja, die liebe Schwarz-Weiß Malerei . . .

>Sicher setzen die meisten "Arduino-Coder" die Funktion an den falschen
>Stellen zu falschen Zwecken ein, aber von pauschalisierenden
>Rundumschlägen würde ich trotzdem lieber Abstand nehmen.

Me too! Auch ich nutze regelmäßig die "bösen" delay-Funktionen, 
allerdings dort, wo es sinnvoll und unkritisch ist. Einfaches Beispiel. 
Wenn ein Startbildschirm für ein paar Sekunden angezeigt werden soll, 
macht man das sicher NICHT mit einem Timer, denn die CPU hat in dem 
Moment so oder so nichts zu tun. Anderes Beispiel. Wenn man einen 
DMX-Datenstrom sendet, muss man immer wieder ein BREAK erzeugen. Das 
kann man mit einem Timer oder dem UART selber machen, muss man aber 
nicht. Ich habe dafür mehrfach ein _delay_us(100) genutzt, und das sogar 
in einem Timer-Interrupt!!! Jehova, Jehova!

von Carl D. (jcw2)


Lesenswert?

> Ich habe dafür mehrfach ein _delay_us(100) genutzt, und das sogar
> in einem Timer-Interrupt!!! Jehova, Jehova!

_delay_us aus der AVRlibc läuft auch nur im Kreis, wärend die 
Arduino-Variant wohl per TimerInterrupt eine Variable hoch(runter) 
zâhlt. Das ist zwar etwas genauer, da keine ISR die Wartezeit 
verlängert, geht aber bei gesperrten INT's z.B. innerhalb einer ISR 
nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Jaja, die liebe Schwarz-Weiß Malerei . . .
Wenn schon jedes Wort auf die Goldwaage gelegt werden muss, hier eine 
leicht überarbeitete Variante:
1
Ein _delay_ms() im Programmablauf ist fast immer ein Programmierfehler.
Oder andersrum:
1
Neun von zehn _delay_ms() sind unnötig.

Das waren dann auch genau die delay(), die ich den Praktikanten 
angekreidet und wegoptimiert habe. Es ist ja nicht "schlimm", wenn in 
der Initialisierung mal 50ms gewartet wird. Aber wenn sowas in jedem 
Durchlauf der Hauptschleife passiert, dann ist das nur kostspielige 
Rechezeitvernichtung.
Wie? Das Programm hat gar keine Hauptschleife? Das ist in 99% der Fälle 
auch ein Programmfehler. Oder eher ein Konzeptfehler...

> Me too! Auch ich nutze regelmäßig die "bösen" delay-Funktionen,
> allerdings dort, wo es sinnvoll und unkritisch ist.
Mir scheint, dir ist die Problematik eines delay() bekannt.
Einigen anderen aber offenbar nicht, denn sonst käme nicht wöchentlich 2 
mal die Frage nach dem "abbrechbaren delay()".

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

@ Lothar Miller (lkmiller) (Moderator) Benutzerseite


>> Jaja, die liebe Schwarz-Weiß Malerei . . .
>Wenn schon jedes Wort auf die Goldwaage gelegt werden muss, hier eine
>leicht überarbeitete Variante:

Nun ja, du bist ja auch bei anderen Dingen für ABsolutismen bekannt, ich 
sag nur Entkoppelkondensator . . . 8-0

>Ein _delay_ms() im Programmablauf ist fast immer ein Programmierfehler.

>Neun von zehn _delay_ms() sind unnötig.

Damit kann man sich schon eher anfreunden. ;-)

>> Me too! Auch ich nutze regelmäßig die "bösen" delay-Funktionen,
>> allerdings dort, wo es sinnvoll und unkritisch ist.
>Mir scheint, dir ist die Problematik eines delay() bekannt.

Gerade so.

>Einigen anderen aber offenbar nicht, denn sonst käme nicht wöchentlich 2
>mal die Frage nach dem "abbrechbaren delay()".

Was zumindest ICH mit dem immer gleichen, weil immer gültigen Hinweis 
auf den schönen Artikel Multitasking beantworte.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Lothar M. schrieb:
> Wie? Das Programm hat gar keine Hauptschleife? Das ist in 99% der Fälle
> auch ein Programmfehler. Oder eher ein Konzeptfehler...

Nö. Bei Systemen mit (RT)OS gibt es entweder nur eine irgendwo im 
Scheduler o.ä. versteckte oder sogar gar keine echte Hauptschleife. Bei 
vielen Anwendungen mit kooperativem Multitasking sollte man es auch 
tunlichst unterlassen, auf Anwendungsebene Hauptschleifen zu 
implementieren, z.B. in SPS-Programmen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas S. schrieb:
> z.B. in SPS-Programmen.
Und gerade ein SPS Programm ist das Beispiel für eine Hauptschleife 
schlechthin. Dort wird nämlich das Programm an sich als Teil so einer 
Schleife ausgeführt. Und zwar möglichst schnell, ohne auf irgendwas zu 
warten (das nennt sich dann Zykluszeit). Natürlich darf man da nicht 
zusätzlich eine "eigene" Hauptschleife einführen, weil man dann ja das 
implizite Prozessabbild (Lesen und Schreiben der EA) komplett umgeht.

Am besten gefällt mir hier, dass SPS Programmierer (oft ohne es zu 
wissen) mit Zustandsautomaten arbeiten (die heißen dann Merkerketten).

Falk B. schrieb:
> Nun ja, du bist ja auch bei anderen Dingen für ABsolutismen bekannt, ich
> sag nur Entkoppelkondensator . . . 8-0
Es gibt für auch für Absolutismen eine Ausnahme. Allerdings muss man die 
dann auch jeweils gut begründen können. Und das kann man erst dann, wenn 
man den zugrunde liegenden Mechanismus verstanden hat.
Man könnte z.B. Fahranfängern sagen: fahre nur auf geteerten Wegen! Wenn 
dann die letzten 100m unbefestigt sind, dann darf er die mit gutem Grund 
mal "ausnahmsweise" fahren um sein Ziel zu erreichen. Aber wenn er 
sofort nach dem Losfahren über den nächten Feldweg in einen Wald fährt, 
dann darf er sich nicht wundern, wenn es recht schnell holprig wird... 
;-)

Und mit dem Verstehen sind wir wieder beim 8051 und dem AVR: diese wenig 
komplexen Controller kann man noch relativ leicht überblicken und 
begreifen. Und wenn man die dann kapiert hat, dann kann man sich nach 
Großem recken und sich mal den Registersatz eines I.MX6 oder auch nur 
die DMA oder den NVIC eines ARM zu Gemüte führen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Lothar M. schrieb:
> Andreas S. schrieb:
>> z.B. in SPS-Programmen.
> Und gerade ein SPS Programm ist das Beispiel für eine Hauptschleife
> schlechthin.

Dann solltest Du mich nicht sinnentstellend zitieren!

> Natürlich darf man da nicht
> zusätzlich eine "eigene" Hauptschleife einführen, weil man dann ja das
> implizite Prozessabbild (Lesen und Schreiben der EA) komplett umgeht.

Genau. Bei einer S7 muss auch der OB1 einfach durchlaufen.

> Am besten gefällt mir hier, dass SPS Programmierer (oft ohne es zu
> wissen) mit Zustandsautomaten arbeiten (die heißen dann Merkerketten).

Für SPS-Programme in SCL/ST haben wir uns ein paar Vorlagen für 
Zustandsautomaten gebaut, die dann in den meisten FB verwendet (und dann 
durch OB aufgerufen) werden.

> Und mit dem Verstehen sind wir wieder beim 8051 und dem AVR: diese wenig
> komplexen Controller kann man noch relativ leicht überblicken und
> begreifen. Und wenn man die dann kapiert hat, dann kann man sich nach
> Großem recken und sich mal den Registersatz eines I.MX6 oder auch nur
> die DMA oder den NVIC eines ARM zu Gemüte führen.

Einer meiner Favoriten für das Erlernen akkumulatorbasierter 
Architekturen/Befehlssätze wäre der Z80. Anschließend vergleicht man 
solch einen Ansatz mit registerbasierten Prozessoren. Ebenfalls sehr 
hilfreich ist zu späteren Zeitpunkten die Beschäftigung mit Prozessoren, 
die eine sehr strenge Trennung der Adressräume für Daten und Programme 
haben, d.h. Harvard-Archikturen. Die krasseste Ausprägung dieser 
Trennung hatte ich bei einem Philips PCB5011 erlebt, der vier separate 
Adressräume mit völlig voneinander getrennten externen Bussen hatte: 
Programm, X-Daten, Y-Daten, ROM-Koeffizienten. Für Programm und 
ROM-Koeefizienten gab es nicht einmal Schreibbefehle. Die 
Daten-Datenbusbreite betrug 16 Bit, die Programm-Datenbusbreite 40 Bit. 
Mit solch einem Prozessor konnte man nicht wirklich gut arbeiten, 
weswegen er wohl auch keine nennenswerte Verbreitung erzielt hat. Das 
grundlegende Konzept findet man aber wiederum in VLIW-Architekturen 
wieder, d.h. in einem Programmwort befanden sich sechs  Befehle, die 
blockierungsfrei gleichzeitig ausgeführt wurden.

NEIN, ich empfehle NICHT den Aufbau und die Programmierung eines 
PCB5011-basierten Rechners für jedermann!

: Bearbeitet durch User
von Der Andere (Gast)


Lesenswert?

verwundert schrieb:
> Es geht um: Ich bin Anfänger, wie kann ich (heutzutage) problemlos
> einsteigen?
>
> Und da sind AVR nun mal nicht in der ersten Reihe. Das kannst du
> wunderschön hier im Forum erlesen.

Man muss bei solchen Aussagen wirklich "verwundert" sein.

Du empfiehlst also einen µC zum Einstieg, der so komplexe Peripherie 
beinhaltet, und einen komplexen Befehlssatz hat, dass die notwendigen 
Dokus dazu schnell mehr als 500 Seiten ausmachen, dass alleine Errate 
Sheeets größer als 40 Seiten sind.

Und das empfiehlst du als "Einstieg"?!

Ich nehme an wenn dich eine verzweifelte Mutter fragt wie sie ihrem 
Sprössling in Mathe 4. Klasse helfen kann so dass er die 
Gymnasialempfehlung erhält, dann empfiehlst du ihr/ihm auch den Papula 
Band 1-3?

Kopfschüttel

von Verwundert (Gast)


Lesenswert?

@Lothar
Es gibt noch andere für den Einstieg bessere uC, moderner und einfacher 
handzuhaben. Perfekt für Anfänger, ohne Fallstricke, ...
Aber wir drehen uns im Kreis.

Der Andere schrieb:
> Und das empfiehlst du als "Einstieg"?!
Ja, kennst du überhaupt den MSP? Ich denke nicht.
Und für ARM gibt es gute Einführungen. Warum hältst du die Neebees für 
so dumm, das ist nicht fair.

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.