Forum: Mikrocontroller und Digitale Elektronik Mit was in die Mikrokontrollerwelt einsteigen?


von Stefan T. (stefant)


Lesenswert?

Hallo zusammen,
ich bin absoluter Neueinsteiger in die Welt der Elektronik und 
Mikrocontroller Programmierung. Ein bisschen Programmierung habe ich in 
C, C+, Basic und VBA das ist aber auch schon alles ziemlich lange her.
Auf meine alten Tage möchte ich mir nun nochmal ein neues Hobby zulegen 
und nachdem mich die Möglichkeiten der Mikrocontroller schon immer 
fasziniert haben würde ich es gerne damit versuchen. Konkretes Projekt 
gibt es noch keines, wenn mal ein bisschen Wissen da ist würde ich dies 
gerne in meinem großen Hobby Autoschrauben einsetzen. Ideen wären da ein 
A/F-Display, digitale Zusatzinstrumente mit Aufzeichnung (ich weiß, dass 
man das alles fertig kaufen kann und das wahrscheinlich auch noch 
billiger ist) und ähnliche Geschichten.
Also ging es los mal ein paar Basisinfos einsammeln. Ehrlich gesagt bin 
ich inzwischen ratloser als am Anfang. Nun erhoffe ich mir eure Hilfe.
Ich suche einen Einstieg in die Mikrokontrollerwelt. Gerne auch eine Art 
Start-Kit. Auf jeden Fall was, wo man auch solche Sachen lernt, die über 
die reine Programmierung hinausgehen wie z.B. Signalanpassung (also wie 
kriege ich das Signal eines von mir aus Sensors überhaupt erstmal in den 
Mikrokontroller rein), Ansteuerung von Ausgabegeräten wie LCD, TFT oder 
ähnlichem. Mir ist klar, dass es voraussichtlich nicht die einzig wahre 
Lösung gibt. Aber derzeit bin ich ziemlich überfordert und würde mich 
sehr über eure Anregungen freuen.

Ciao,
Stefan

von stefan us (Gast)


Lesenswert?

Folge den Tutorials in diesem Forum, oder in Google oder kaufe ein Buch.

Ganz besonders einfach ist der Einstieg warscheinlich mit einem Arduino 
oder einem mbed Controller. Wehr sich eher mit den Grundlagen 
beschäftigen will (ohne fertige Libraries zu nutzen), dem würde ich ein 
bliebiges AVR Mikrocontroller-Modul mit USB-UART empfehlen (z.B. von 
chip45 oder ebay) oder ein STM32 Discovery Board.

Überlege Dir erstmal, ob Du mit einfachen 8 Bit anfangen möchtest, oder 
gleich mit 32bit loslegen willst.

Ich pedänlich hatte noch keinen Bedarf, auf 32bit aufzurüsten. Aber wenn 
ich huete anfangen würde, würde ich warscheinlich gleich bei 32bit 
anfangen, da diese Controller nicht mehr wesentlich teurer sind, als 
8bitter.

von Antimedial (Gast)


Lesenswert?


von stefan us (Gast)


Lesenswert?

Ich sollte vielleicht noch dazu sagen, dass der Unterschied zwischen 
8bit und 32bit Controller nicht nur die Busbreite ist, sondern die 32bit 
Controller haben in der Regel erheblich mehr I/O Features und sind 
deswegen schwieriger zu handhaben. Dennoch würde ich nicht von ihnen 
abraten, so schwierig sind sie auch nun wieder nicht.

von Klaus R. (klara)


Lesenswert?

Hallo,
ich habe mit dem MSP-430-USB-Stick von TI angefangen. Es ist ein 16 Bit 
Controller der F201x - Reihe, die bis zu 2KB für Programme in C/C++ oder 
Assembler bereitstellen.
http://www.ti.com/lsds/ti/microcontroller/overview.page

Als IDE hatte ich anfangs die "IAR Embedded Workbench", hinterher die 
"Code Composer Studio™ IDE", welche auf Eclipse basiert. Beide sind 
kostenlos. Neu ist "Open Source MSPGCC", im Beta Stadium.
Tools & Software for MSP430 Ultra-Low Power 16-bit MCUs
http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/tools_software.page

Es gibt reichlich Unterstützung, allerdings ist der der englisch kann 
von Vorteil.

Ist sogar billiger als bei Reichelt:
http://www.conrad.de/ce/de/product/170285/MSP-430-USB-Stick-Entwicklungstool-Texas-Instruments-eZ430-F2013/?ref=062

Ist neuer als der Stick, Controller kein SMD.
http://www.conrad.de/ce/de/product/414784/MSP-EXP430G2-LaunchPad-Texas-Instruments-fuer-MSP430G2xx-Microcontroller/?ref=062

Wenn es etwas gehobener sein soll, dann wäre dies etwas:
http://www.espruino.com/

RASPBERRY-PI ist heutzutage sehr angesagt.
http://www.reichelt.de/Programmer-Entwicklungstools/RASPBERRY-PI-B/3/index.html?&ACTION=3&LA=2&ARTICLE=133474&GROUPID=2969&artnr=RASPBERRY+PI+B

Oder ARDUINO:
http://www.reichelt.de/Programmer-Entwicklungstools/ARDUINO-MEGA/3/index.html?&ACTION=3&LA=2&ARTICLE=119696&GROUPID=2969&artnr=ARDUINO+MEGA

Gruss Klaus.

: Bearbeitet durch User
von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Stefan Tully schrieb:
> Auf meine alten Tage möchte ich mir nun nochmal ein neues Hobby zulegen

Hallo Stefan, was heisst hier alte Tage? Ich bin 64 und habe mit den 
Mikrocontrollern vor 2 Jahren angefangen.
Gestartet bin ich mit einem Netzteil, Breadboard, ATMega168 und Bascom. 
Und einen gescheiten Programmer brauchst Du noch. Nimm gleich den AVRISP 
MK2 für ca. 40 Euro von Atmel, damit ersparst Du Dir dann viel Ärger. 
Den Einstieg habe ich in wenigen Tagen geschaft, da liefen schon eigene 
Programme. Heute mach ich mehr mit Luna, zu C habe ich nicht so wirklich 
den Draht. Den braucht man sich auch nicht einreden lassen, denn bei uns 
ist es halt nur noch Hobby. Da geht es auch super ohne C. Lass Dir hier 
auch keine 32 Bit'er wie STM usw. einreden. Damit ist der 
Hobby-Einsteiger erst mal überfordert und es kann leicht zur Frustration 
werden.
Übrigens ist ein Oszi oder Logik-Analyzer ganz hilfreich. Wenn Dir ein 
Oszi zu teuer ist, nimm einen billigen Logik-Analyzer.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Albert M. schrieb:
> zu C habe ich nicht so wirklich
> den Draht. Den braucht man sich auch nicht einreden lassen, denn bei uns
> ist es halt nur noch Hobby. Da geht es auch super ohne C.

Ja alles Teufelswerk. Also die Rangliste ist einfach zu merken:

C - Industriestandard. Nutzen die wirklich coolen Jungs die was drauf 
haben (z.B. ich)

Bascom - für Verlierer

Arduino - für Leute die sogar für Bascom zu doof sind (weil da keine HW 
fix und fertig dabei ist).

Pascal - Für Leute wo es evt. zu Bascom reichen würde, aber die kennen 
nix anderes weil sie früher mal (anno dunnemals) schon mit Pascal 
programmiert haben und es ihnen überhaupt nichts ausmacht dass die 
Sprache 1. doof und 2. tot ist. Da ist alles verloren. Nicht schön. 
Einfach weitergehen.

LunaAVR - Lu was?

: Bearbeitet durch User
von kopfkratzer (Gast)


Lesenswert?

kopfkratz
Also gehe mal genau anders herum vor:
1. Was willst Du bauen ?
2. Welche Informationen müssen dafür verarbeitet werden ?
3. Welches ist der geringste Aufwand das zu realisieren ?
Wenn Du dagegen nur einfach LEDs zappeln lassen willst oder Deinen 
Anverwandten den Fernseher sporadisch ausschalten oder nerviges gepiepse 
in Nachbars Garten veranstalten, dann nimm halt den günstigsten µC der 
PWM kann ;-)
AVR Einstieg gibt's um 10,-, entweder als Arduino oder 5,- USBASPclone 
und Steckbrett und ATMega88A oder Tiny mit Hühnerfutter = Widerstände, 
LEDs, Kondensatoren usw. usf.
PICKit ist auch nicht esentlich teurer.
Und die aktuellen Arduinos gibt's noch in AVR32, STM32 (ARM) und dann 
gab es auch noch irgenwo ein MIPS-Board auch 32bittig.
Der Vorteil von Arduino ist das Rapidprototyping da schon alle 
Bibliotheken vorhanden sind, hat den Nachteil das er Overhead produziert 
und den Vorteil das die Sketches i.d.R. leicht auf andere Arduinos 
anpaßbar sind.
Es gibt auch einige Bücher mit Starterkits wo man in µC eingeführt wird.
Allerdings gibt's da auch viele die an die Tutorials hier nicht 
herankommen m(
Also entscheide Dich ob Du nun ein konkretes Projekt hast, z.B. wann 
wecke ich Oma wenn sie so laut schnarcht das ich meine 
"Lieblingswerbung" nicht mehr verstehen kann oder ob Du einfach mal 
ausprobieren willst wie Du einen Poti auswertest um damit via PWM eine 
LED zu dimmen.
Rechne mal mit 50-100 Euro um was zu haben mit dem Du arbeiten kannst, 
Multimeter braucht es auf jeden Fall Oszi macht Sinn muß aber anfangs 
nicht vor allem bei digitaler Bastelei.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

@cyblord

Wieder mal so ein dümmlicher Kommentar, aber von Dir kennt man es ja 
nicht anders.
Und wer lesen kann ist im Vorteil. Es geht ums Hobby im Alter. Warum in 
aller Welt sollte man sich da unbedingt das nervtötende C antun? Und 
cool waren wir bereits, als Du noch nicht mal ein Gedanke warst.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Albert M. schrieb:
> @cyblord
>
> Wieder mal so ein dümmlicher Kommentar, aber von Dir kennt man es ja
> nicht anders.
Das schneidet tief. Und sowas kurz vor Weihnachten...
Außerdem war das ja nur eine stark verkürzte Zusammenfassung des Fazits. 
Ich kann ja die lange Fassung nachliefern aber ich fürchte das will 
keiner.

> cool waren wir bereits, als Du noch nicht mal ein Gedanke warst.
Ohne C? Wie soll das gehen? Man ist nie zu alt um es richtig zu machen.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

:)

von Andreas H. (ahz)


Lesenswert?

Stefan Tully schrieb:
> Auf meine alten Tage möchte ich mir nun nochmal ein neues Hobby zulegen
> und nachdem mich die Möglichkeiten der Mikrocontroller schon immer
> fasziniert haben würde ich es gerne damit versuchen.

Na dann herzlich willkommen :-D

stefan us schrieb:
> Ganz besonders einfach ist der Einstieg warscheinlich mit einem Arduino
> oder einem mbed Controller.

Arduino würde ich auch am Anfang empfehlen. Übersichtliche 8-Bit CPU für 
die man extreme preiswert kleine Boards & Peripherie kriegt. Kommt man 
(relative) schnell mit klar.

Das Arduino Projekt benutzt eine "entschärfte" C++ Variante. Also auch 
für Anfänger/Wiedereinsteiger geeignet. Wenn Du dann tiefer einsteigen 
willst, kannst du relative einfach die Hardware auch mit anderen Tools 
benutzen (dann ggf. mit einem Programmer, der etwas €30 kosten).

Auf komplexere uC's kannst Du dann immer noch umsteigen. Am Anfang kann 
das aber schnell entnervend schwierig werden.

Grüße & viel Spass
Andreas

P.S:
cyblord ---- schrieb:
> Ohne C? Wie soll das gehen? Man ist nie zu alt um es richtig zu machen.
Wir drücken Dir alle die Daumen (obwohl die Hoffnung langsam schwindet 
...)^^

von Ralph (Gast)


Lesenswert?

Wenn du mit LCD und TFT später rumspielen willst wirst du dir mit einem 
8 bitter da keine Freude machen.

Ja ich weiß es geht aber die Ressourcen sind da so knapp das es keinen 
Spass macht. Ja und es gibt Leute die genau daran Spass haben.....

Nimm die ein fertiges Entwicklungskit auf den 32 Bit Arm.

wie zb :
http://www.ti.com/ww/en/launchpad/launchpads-tivac.html#tabs
oder auch die von STM.

Hier gibt es auch umfangreiche Libs von den Herstellern die einiges 
Vereinfachen. Für dne Anfang recht gut um zügig zu einem Erfolgserlebnis 
zu kommen.
Später kann man ja immer noch diese Libs durch eigene Code ersetzen, 
wenn man denn etwas effizienteres hinbekommt.


Da ist dann auch die komplette Toolkette für die Entwicklung, also 
Compiler, Debugger direkt mit dabei und es funktioniert.

Es macht wirklich kein Spass wenn man am Anfang nicht mal weiß wo der 
Fehler liegt. Das eigene Programm, das Board, die Compilersettings, der 
Debugger,.......


Wenn du damit ins Auto willst hast du dir das schlimmste Umfeld 
ausgesucht das du haben kannst.
* Versaute Versorgungspannung.
* Viele Störungen
* hohe mechanische und thermische Belastung,...

von Seano L. (Gast)


Lesenswert?

Ralph schrieb:
> Wenn du damit ins Auto willst hast du dir das schlimmste Umfeld
> ausgesucht das du haben kannst.
> * Versaute Versorgungspannung.
> * Viele Störungen
> * hohe mechanische und thermische Belastung,...

Das dachte ich mir auch. Da soll er gleich nochmal ein paar Monate 
E-Technikgrundlagen mit einplanen damit er entsprechende 
Entstörschaltungen halbwegs versteht oder zumindest die ganze 
Problematik überblickt.

Was macht eigentlich der Krankenpfleger mit seinem Bordcomputer für 
seinen Reiskocher?

von Max H. (hartl192)


Lesenswert?

Hier hat jemand ein ähnliche Frage, kannst du dir mal durchlesen:
Beitrag "Einstieg unter Mac OS X: AVR, Arduino, oder PIC18/24?"

von Andreas H. (ahz)


Lesenswert?

Ralph schrieb:
> Nimm die ein fertiges Entwicklungskit auf den 32 Bit Arm.
>
> wie zb :
> http://www.ti.com/ww/en/launchpad/launchpads-tivac.html#tabs

Das Teil sieht wirklich gut aus.
Aber ist der nicht ein bisschen zu kompliziert für den Anfang ?

Grüße
Andreas

von Helmholtz (Gast)


Lesenswert?

Warum erscheint eigentlich diese scheiß Frage alle drei Wochen hier in 
diesem Forum? Können die Leute die Suchfunktion bzw. - Maschinen nicht 
bedienen?

Das hat ja fast den Level von "Welches Oszilloskop soll ich kaufen?"

in KFZ-Foren wäre das "Welches Öl soll ich nehmen?"

von F. F. (foldi)


Lesenswert?

Mit viel Geld.

Ich mache das jetzt ca. zwei Jahre und alles in allem, also Bauteile, 
Messgeräte, Arbeitsplatzausbau, Hilfsmittel usw., habe ich bis jetzt ca. 
5000 Euro ausgegeben.

von Klaus I. (klauspi)


Lesenswert?

Stefan Tully schrieb:
> Also ging es los mal ein paar Basisinfos einsammeln. Ehrlich gesagt bin
> ich inzwischen ratloser als am Anfang. Nun erhoffe ich mir eure Hilfe.

Kein Wunder, ist mir vor kurzem auch so gegangen :o)

Ich habe mir für den Start das Pollin-Board als Fertigmodul (Pollin 810 
074 für 23 EUR), serielle Kabel und ein paar Atmega8 und Atmega32 in 
DIP-Ausführung gekauft. Dazu noch einen usbasp-Programmer für unter 10 
EUR.

Dann noch ein Steckbrett (oder auch ein paar mehr), Drahtbrücken, 
Steckverbinder, Kroko-Verbinder und div. Standardbauteil-Sortimente von 
Vellemann und andere Standard-Bauteile.

Ein einfaches Labornetzgerät, ein paar Billig-Multimeter und eine 
einfache Lötstation für den Anfang.

Zum Programmieren habe ich mir C, BASCOM und LunaAVR angesehen und bin 
dann bei Luna geblieben. Ada habe ich auch kurz ausprobiert, aber ich 
denke das kann man als Hobbiest/Einsteiger vergessen. Schau einfach, was 
Dir am Anfang besser liegt, umsteigen kann man ja jederzeit.

Damit sollte man schon mal alles haben um eine LED leuchten zu lassen.


> Ich suche einen Einstieg in die Mikrokontrollerwelt. Gerne auch eine Art
> Start-Kit. Auf jeden Fall was, wo man auch solche Sachen lernt, die über
> die reine Programmierung hinausgehen wie z.B. Signalanpassung (also wie
> kriege ich das Signal eines von mir aus Sensors überhaupt erstmal in den
> Mikrokontroller rein), Ansteuerung von Ausgabegeräten wie LCD, TFT oder
> ähnlichem.

Da haben wir doch schon Deine ersten "Projekte" :o)

Also noch ein paar LCDs (z.B. Pollin 120 421) geordert und ein I2C-Modul 
(z.B. Pollin 810 145).

Als analoge Sensoren vielleicht erstmal Photo-, NTC- und 
PTC-Widerstände.
Wie das umgesetzt wird steht hier in die zahlreichen Wiki-Artikel. Da 
ist z.B. auch http://www.sprut.de/electronic/temeratur/temp.htm 
verlinkt.

Ich denke wenn Du dann an diesem Punkt bist, hast Du schon einen 
gewissen Überblick über das Thema gewonnen. Das soll Dich jetzt 
natürlich nicht vom Fragen abhalten.

Es gibt da sicherlich noch viel Anzumerken und zu Diskutieren, aber 
übersichtlicher wird es dadurch für Dich nicht.

Du kannst mir auch gerne eine PN schicken, wenn Du Dir bei Kleinigkeiten 
unsicher bist und Dir hier im Forum keine Blöße geben willst. Manchmal 
herrscht hier halt ein etwas rustikaler Ton.

Auf jeden Fall wünsche ich Dir viel Spaß und Erfolg!
Klaus

P.S.: Falls Du wegen der Grundausstattung detailierte Vorschläge 
brauchen kannst, bitte eine kurze PN. Ich habe da einiges in Excel 
abgespeichert.

von Ralph (Gast)


Lesenswert?

Andreas H. schrieb:
> Aber ist der nicht ein bisschen zu kompliziert für den Anfang ?

Wenn du die mitgelieferten Libs benutzt dann nicht.

Die nehmen viel Detailarbeit ab.


Später kann man ja immer noch mit den Details spielen, falls es nötig 
ist.

von Andreas H. (ahz)


Lesenswert?

Ralph schrieb:
> Andreas H. schrieb:
>> Aber ist der nicht ein bisschen zu kompliziert für den Anfang ?
>
> Wenn du die mitgelieferten Libs benutzt dann nicht.
>
> Die nehmen viel Detailarbeit ab.
Sind da die Quellen verfügbar ? Oder sitzt da ein Anfänger plötzlich auf 
einem Problem, wo er anfangen muss eine M4 auf bare Metal zu debuggen ?

Ich mag ja die Cortexe ganz gern. Aber ich würde es keinem Anfänger 
zumuten wollen damit einzusteigen.

Grüße
Andreas

von Paul B. (paul_baumann)


Lesenswert?

Foldi schrabte:
>Mit viel Geld.

Das kann ich nicht bestätigen. Ein teurer und umfangreicher 
Meßgerätepark
ist auch noch keine Garantie dafür, logische Fehler in Programmen zu 
erkennen.

Viele Bauelemente kann man auch bei "Schlachtfesten" von alten Geräten
gewinnen -der Siebensegmentanzeige z.B. ist es völlig Brust, ob sie 
schon
20 Jahre lang Kanalanzeige in einem analogen Sat-Receiver war. Da finden
sich auch kleine Tasterchen und Festspannungsregler, Transistörchen 
u.s.w.

Das Problem wird sich in den kommenden Jahren noch verschärfen:
Viele Rentner, die mit Gewalt in die vorzeitige Rente gezwungen wurden.
Die haben ganz geringe Renten und wollen trotzdem ihr Hobby betreiben.
:-(

MfG Paul

von Ralph (Gast)


Lesenswert?

Andreas H. schrieb:
> Sind da die Quellen verfügbar ? Oder sitzt da ein Anfänger plötzlich auf
> einem Problem, wo er anfangen muss eine M4 auf bare Metal zu debuggen ?

Beim TI Ja. Da gibt es beim Softwarepacket die ganzen Libs als C -Code 
mit einem PDF als Beschreibung der Schnittstellen.


Wie das beim STM aussieht weiß ich nicht.

von Schrotthändler (Gast)


Lesenswert?

cyblord ---- schrieb:
> C - Industriestandard. Nutzen die wirklich coolen Jungs die was drauf
> haben (z.B. ich)
>
> Bascom - für Verlierer
>
> Arduino - für Leute die sogar für Bascom zu doof sind (weil da keine HW
> fix und fertig dabei ist).
>
> Pascal - Für Leute wo es evt. zu Bascom reichen würde, aber die kennen
> nix anderes weil sie früher mal (anno dunnemals) schon mit Pascal
> programmiert haben und es ihnen überhaupt nichts ausmacht dass die
> Sprache 1. doof und 2. tot ist. Da ist alles verloren. Nicht schön.
> Einfach weitergehen.

So, so, du gehörst zu den coolen Jungs, die was drauf haben?

Wenn man  keine Ahnung hat, sollte man einfach mal die F... halten. Ich 
denke, du gehörst eher zu den dummen Jungs, die mit Scheuklappen durchs 
Leben gehen und in ihrer kleinen Welt gefangen sind. Die verpassen 
schnell den Zug und gehören morgen zum alten Eisen.

von Stefan F. (Gast)


Lesenswert?

Bitte unterlasst diese Beleidigungen. Solche Angebereien, wie "ich hab 
was drauf, und die anderen sind doof" halte ich für unangebracht, ebenso 
die Reaktionen darauf. Wer wirklich gut ist, weiss das und hat es nicht 
nötig, darüber zu diskutieren. Wer hingegen andere Leute schlecht macht, 
outet sich als unangenehme Person, die gemieden wird.

Stellt euch mal vor, Ihr sitzt im Bewerbungsgespräch für euren Traumjob, 
und dann zieht der künftige Chef Ausdrücke von solchen 
Diskussionsbeiträgen aus der Tasche. Und dann sagt er: Sowas wollen wir 
in unserer Firma aber nicht haben, ich wünsche Ihnen viel Erfolg bei der 
weiteren Suche nach einem Job.

Denkt mal darüber nach.

Zum Thema, also @Stefan Tully:
Da du in jungen Jahren schon einige Programmiersprachen angewendet hast, 
gehe ich davon aus, dass du dich neu einarbeiten wirst. Das wird dir 
aber warschlich recht schnell gelingen, ganz egal in welcher 
Programmiersprache.

Für den Einstieg ist es hilfreich, eine fertige Hardware vorliegen zu 
haben, bei der man weiss, dass sie funktioniert. Zum Beispiel ein AVR 
mit einer LED und einer Programmierschnittstelle mitsamt 
Programmieradapter (oder USB Bootloader). Das kann man ab 20 Euro haben. 
Wenn Du die erste LED blinkend hast, dann kannst Du anfangen, eigene 
Hardware zu entwicklen.

Wenn man 10 neue Sache gleichzeitig einsetzt, hat man halt auch viele 
mögliche Fehlerstellen. Da ist dann die Chance auf einen Doppelfehler 
(oder gar mehr) hoch, und die können sehr frustrierend sein.

Also: Nimm ein fertiges Modul.

Raspberyy Pi würde ich jetzt nicht zu den Mikrocontrollern zählen, weil 
da ein ganzes Linux drauf läuft. Sie werden demnach auch ganz anders 
programmiert, als Mikrocontroller, nämlich eher wie PC's.

von W.S. (Gast)


Lesenswert?

Stefan Tully schrieb:
> meinem großen Hobby Autoschrauben

Ach.. jemandem zu irgendeiner Variante zu raten, ist schwierig.

Also am Autoschrauben bist du schon lange interessiert, ich setze also 
mal voraus, daß du in maschinenbaulichen Dingen demnach bewandert bist, 
die Reihe der Passungen auswendig kannst und mit Werkzeugmaschinen 
umgehen kannst. Ne Garage dafür hast du sicherlich auch. Richtig?

Jetzt erstmal meine Fragen:
Bist du Rentner und hast Zeit?

Hast du auch sowas wie nen Elektronik-Basteltisch?

Und die einschlägigen Werkzeuge dafür (geeigneter Lötkolben, Multimeter, 
kleines Labornetzteil, ne gute Lupe oder Binokular-Lupe zum Aufsetzen, 
feiner Seitenschneider, Werkzeug)

Auf was für Bezugsquellen kannst du zugreifen? Sag jetzt nicht Conrad, 
das wäre nicht wirklich gut.

Wie gut ist dein Englisch?

Weißt du, Mikrocontroller sind KEIN Selbstzweck, sondern sie sollen in 
irgendeiner Schaltung einen sinnvollen Zweck erfüllen und diese 
Schaltung soll einem Gerät seine Funktion geben.

Also ist das Ganze mit Beschaffung von Teilen verbunden, mit dem 
Erstellen von Schaltungen, mit dem kreieren von Leiterplatten und deren 
Anfertigung, mit dem Bestücken, InBetriebNehmen, Programmieren.

Taste dich zu allererst der Reihe nach an all diese Disziplinen heran.

Es muß auf den Anfang nicht das Programmieren eines besorgten 
Eval-Boards sein.

Im Gegenteil, denn Eval-Boards sind Werbemittel, mit denen die 
Hersteller den Kunden ihre Teile schmackhaft machen wollen und die 
deshalb nie und nimmer für eine wirkliche Anwendung gedacht und geeignet 
sind. Immer nur geht's um's Ausprobieren von irgendwelchen 
Bestandteilen, aber nie um's echte Benutzen.

Das Einzige, was gut ist an Eval-Boards ist, daß man sie gegebenenfalls 
auf einschlägigen Veranstaltungen kostenlos abgreifen kann. Beispiel: Im 
nächsten Frühjahr gibt's in Nürnberg wieder die "Embedded" Messe. Da 
kannst auch du hin, an kostenlose Eintrittskarten kommt man im Internet, 
wenn man einen sinnvollen Grund hat. Den braucht man zusammen mit einem 
Stapel Visitenkarten auch drinnen in der Messe. Ich rate dir, mal mit 
nem Lehrer vom Gymnasium deines Enkels zu reden, Inhalt so etwa 
"Arbeitsgemeinschaft Mikrorechentechnik" mal anzudenken. Pädagigik plus 
Visitenkarte reicht eigentlich.

In der Zwischenzeit solltest du dich bei einigen µC Herstellern 
einlesen, konkret bei MicroChip, NXP und ST-Microelectronic. Zu Atmel 
kann ich dir nicht wirklich raten, dafür gibt es hier im Forum genug 
andere. Also lies erstmal kritisch zur Orientierung. Alle wollen glänzen 
und ihr Zeugs gut darstellen. Also hier noch nicht sich festlegen!!!

"ich bin absoluter Neueinsteiger in die Welt der Elektronik"
Das ist natürlich nicht die beste Startposition.
Also lerne erstmal, Elektronik mit Strom zu versorgen. Klingt albern? 
Isses aber nicht. Sowohl für Netzbetrieb als auch für 12 Volt am Auto 
brauchst du Spannungsregler, Siebmittel, Schutzmittel, Gleichrichter 
usw. bis du auf den 5 Volt oder neuerdings 3.3 Volt bist, die für die 
meisten µC gebraucht werden. Auch sowas wie Aufladeschaltungen für 
Li-Akkus gehören dazu. Also lernen, für sowas gute und sichere 
Schaltungen zu machen und auf Leiterplatte zu bringen. Das ist der 
zweite Punkt: Schaltungen und Leiterplatten entwerfen. Probiere aus, was 
es dafür an benutzbaren Programmen gibt und ob du damit klar kommst. 
Erst nachdem du das in der Tasche hast, solltest du anfangen, dir nähere 
Gedanken über Mikrocontroller und deren Toolchaines zu machen.

So. Bis hierhin hast du garantiert genug zu tun.

Zum allerersten Reingucken kannst du dir nebenbei die "Lernbetty" hier 
in der Codesammlung runterladen. Das ist ne alternative Software für 
eine Fernbedienung namens "Betty", die es bei Pollin für billig Geld 
gibt. Das Nette daran ist, daß sie ein Grafik-Display hat und im Inneren 
einen ARM7 Controller, der schon einiges an Rechenleistung aufweist. Das 
Lernbetty-Basisprogramm stellt einiges an Funktionen als API zur 
Verfügung und so kann man damit Texte, Grafik und S/W-Bilder anzeigen, 
kurze Audio-Stücke spielen (auch Sprache) und man hat ein Megabyte für 
Anwendungsprogramme zur Verfügung. Lesen kostet nix, die Betty bei 
Pollin auch fast nix und die Quellen können als Anschauungsmaterial für 
Eigenes herhalten. Ach ja, Sozobon kann man auch drauf spielen.

W.S.

von Robert T. (robertteufel)


Lesenswert?

Mit solchen Fragen "Mit was in die Mikrokontrollerwelt einsteigen?" darf 
ich mich jeden Tag im Auftrag von Halbleiterherstellern beschaeftigen. 
Die fragen sich genau dasselbe, nur aus einem anderen Blickwinkel. Wie 
machen wir es einem potentiellen zukuenftigen Kunden moeglichst einfach 
mit unserem microcontroller zu arbeiten? Im Rahmen dieser Fragen haben 
wir (ein Team von mehreren Ingenieuren mit Software Hintergrund) 
verschiedenste Kits und Hersteller angesehen. Hier ist die 
Minimalfassung des Ergenisses:

Am schnellsten eine LED am blinken hatten wir mit mbed aber auch mit 
Arduino waren wir sehr schnell. In der Zeitmessung war Download und 
Installation der Software Pakete mitberechnet, deshalb konnten alle 
Programme, die erst mal 500 MB runterladen und dann 30 Minuten 
Installation verlangen nicht mithalten.

Nach dem Blinken mit LEDs waren serielle Kommunikationsschnittstellen 
gefragt. Das ging immer noch hervorragend mit mbed und Arduino.

Wenn also die microcontroller nicht das Ziel der Erkundung sondern das 
Mittel zum Zweck "Autoschrauben" sind, dann wuerde ich zu mbed/Arduino 
raten.

Wenn allerdings ein freies Programmieren und spaeter Algorithmen auf dem 
Plan stehen, dann so frueh wie moeglich auf eine professionelle Umgebung 
umschalten.
Kostenlos kommen als solche in Frage (ohne Wertung)
LPCXpresso von NXP, Atmel Studio, CodeWarrior von Freescale, Atollic 
fuer verschiedene Chips und noch ein paar mehr. All die genannten Pakete 
gibt es auch als kostenpflichtige Versionen, dann fallen 
Einschraenkungen wie Codegroesse oder fehlende C++ Unterstuetzung weg.
Atmel ist eine Ausnahme, das Studio hat auch in der kostenlosen Version 
keine Beschraenkungen.

Tolle Hardware Kits, die den Start einfach machen:
LPCXpresso http://www.embeddedartists.com
Freedom Board von Freescale http://www.freescale.com/FRDM-KL25Z
Atmel Xplained Pro 
http://www.atmel.com/products/microcontrollers/avr/xplainedpro.aspx

Jetzt habe ich hoffentlich etwas mehr zur Klaerung als zur weiteren 
Verwirrung beigetragen.

Robert

von F. F. (foldi)


Lesenswert?

Eine schöne Zusammenfassung und vor allem der Hinweis zu den 
Einsteigerprogrammen. Auch der Hinweis auf die Beschränkungen ist 
hilfreich.

Da ich noch vor nicht all zu langer Zeit selbst eingestiegen bin, kann 
ich das auch so bestätigen, allerdings kommen noch ein paar zusätzliche 
Hinweise von mir.

Es sind nicht nur die unbeschränkte Software oder fertige Produkte die 
den Anfang leichter machen, auch die Beschaffung von günstigen 
Mikrocontrollern, die angebotenen Bauformen spielen, gerade für den 
Einsteiger, auch eine wesentliche Rolle.
Auch den Umstieg ziemlich schnell zu vollziehen ist richtig, denn man 
will nicht immer so ein Arduino Board verbauen, obwohl das unterm Strich 
sogar mal günstiger sein kann und die kleinen Nanos bieten sich dafür 
an.

Zu den Bezugsmöglichkeiten ein Beispiel:
Gestern habe ich mich mal ein wenig nach Holtek umgesehen, weil diese 
Controller in immer mehr Geräten zu finden sind (vor allem 
Haushaltsgeräten).
Bei den üblichen Verdächtigen, hier Conrad und Reichelt, sind diese µC's 
nicht zu beziehen. Aus diesem Grund fallen diese schon mal raus.
Architektur hin oder her, krieg ich das Zeug erst gar nicht oder Wochen 
später, dann ist das alles ziemlich unwichtig. Genauso wenig wird man 
als Anfänger einen Chip im QF-Gehäuse, mit 100 Anschlüssen selbst in 
irgendeine Schaltung verbauen wollen.
Der Reiz an SMD Bauteile kommt bei mir jetzt erst, nach zwei Jahren auf.

Im Moment hat für mich bei allen Systemen Atmel noch die Nase weit vorn, 
auch wenn Dave L. Jones was anderes darüber denkt und die Vorteile von 
PIC gut erklärt.

Das ganze Zeug ist ohnehin sau teuer, und hier meine ich am wenigsten 
die Mikrocontroller, sondern viel mehr alle Messwerkzeuge und die 
gesamte Ausstattung die man so braucht. Soll ich dann noch die Software 
kaufen, um die Controller eines Herstellers überhaupt verwenden zu 
können? Ich finde nein, denn wenn ich die nicht programmieren kann oder 
nur, wenn ich teure Software gekauft habe, dann sind diese µC für mich 
wertlos. Ich finde so was gehört kostenlos dazu.
Man braucht ja nur mal sehen was man sonst noch so an Software braucht 
und was die so kostet (ich werfe mal Altium Designer in den Raum).

Sicher, man könnte jetzt sagen, für den Niet brauchst du auch eine 
Nietzange und die musst du auch kaufen, aber bei Mikrocontrollern sehe 
ich das einfach anders.

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

Stefan us schrieb:
> Also: Nimm ein fertiges Modul.

Ein Beispiel dafür wäre ein Arduino UNO mit steckbarem ATmega328. Dazu 
ein paar LEDs, ein, zwei Schalter/Taster und ein paar Widerstände mit 
1k.

Das Arduino-Board bietet neben der Programmierfunktion auch eine 
serielle Schnittstelle zum PC über ein USB-Kabel, worüber auch die 
Stromversorgung läuft.
Natürlich kann man im Arduino-Dialekt programmieren, aber ebenso ein 
reines C-Programm schreiben, welches mit main() beginnt. Mit den 
genannten Bauteilen kann man Ausgaben auf Ausgänge (LED) und Eingaben 
per Taster/Schalter realisieren. Wenn das Ganze dann noch per 
Timerinterrupt und Entprellung per Software erfolgt, hat man die 
Gundfunktionen kennengelernt.
Per RS232 Schnittstelle - über den vorhandenen USB-Umsetzer - kann man 
sich interne Zahlenwerte ausgeben und ganz konkret analoge Werte 
(Temperatur, Spannung...) über den ADC erfassen.

Falls Du weiter am Ball bleiben möchtest, würde ich zum AVR-Studio 4.19 
raten (die aktuelle 6.1 Version ist viel zu überladen) und zum AVRISP 
MK2, wie er oben schon genannte wurde. (Das AVR-Studio ist kostenlos und 
kann auch ohne vorhandene Hardware den Programmablauf simulieren).

Alle Vorschläge, die zum ARM als Einstiegsprozessor raten, solltest Du 
völlig ignorieren.
Wenn Du ein paar Balkonpflanzen (Petersilie, Schnittlauch) ernten 
möchtest, nimmst Du eine kleine handliche Schere und keine 2-Takter 
Heckenschere, die 100m Buchenhecke bis 20mm Astdurchmesser pro Tag 
schafft.

von Antimedial (Gast)


Lesenswert?

m.n. schrieb:
> und zum AVRISP
> MK2

Ohne vernünftigen Debugger würde ich einen µC nicht mal mit der 
Kneifzange anfassen.

Der Lerneffekt durch das Visualisieren der Prozessorregister ist enorm. 
Außerdem ist es wahnsinnig komfortabel. Ohne Debugger zu arbeiten ist 
eine Methode aus der Steinzeit.

m.n. schrieb:
> Alle Vorschläge, die zum ARM als Einstiegsprozessor raten, solltest Du
> völlig ignorieren.

Alle Ratschläge ohne vernünftige Begründung solltest du völlig 
ignorieren.

von m.n. (Gast)


Lesenswert?

Antimedial schrieb:
> Alle Ratschläge ohne vernünftige Begründung solltest du völlig
> ignorieren.

Das mache ich dann hiermit.

von Antimedial (Gast)


Lesenswert?

Das mit dem Ignorieren hast du wohl noch nicht wirklich verstanden.

von Stefan (Gast)


Lesenswert?

m.n. schrieb:
> Natürlich kann man im Arduino-Dialekt programmieren

Das liest man hier ständig. Bitte erkläre es doch einmal für Doofe: Was 
ist ein Arduino Dialekt?

von mknoelke (Gast)


Lesenswert?

Ich will auch ...

>Das liest man hier ständig. Bitte erkläre es doch einmal für Doofe: Was
>ist ein Arduino Dialekt?

Ein Arduino Dialekt ist, wenn ein
  digitalWrite(pin, HIGH);
  digitalWrite(pin, LOW);
5us dauert, weil es durch zweiunddrölfzig Hardware abstraction layer 
gelaufen ist und doch nur das gleiche tut wie ein:
GPIOC->ODR |= 0x40;
GPIOC->ODR &= ~0x40;
das ein paar ns dauert.

Ein wenig Zuckerguss der verschleiert womit man es eigentlich zu tun 
hat.
Tausche Performance gegen Übersichtlichkeit ist die Devise.

Ist doch lattenpappenegal womit man anfängt.
Man nehme irgendeine MCU Familie und irgendeine Sprache und fange an.
Lernen muss ich das eine und das andere, das tut sich alles nicht viel.

Ab 5€ ist man für ein tuti kompletti Eval Board + Programmer + Debugger 
+ IDE dabei.
(STM8S Value Line Discovery + IAR C-Compiler 8k free edition)

Ob PIC, AVR, ARM oder LMAA ist doch im Endeffekt alles der gleiche 
Sch...

Mit der Zeit wird man dann schon herausfinden wo es persönlich hakt und 
welche Sprache einem liegt.

Bascom oder Arduino sind doch für den Anfang garnicht schlecht, nehmen 
viel ab, stehen aber nur auf einer handverlesenen Auswahl von MCUs zur 
Verfügung.
Wenn es dann später ein wenig performanter sein darf dann ist der 
Schritt zu Assembler oder C nicht mehr so schlimm.

@cyblord
Ja, die geilen wissen an C auch zu schätzen das es extrem easy zu 
erlernen ist und auf wirklich jedem noch so absurdem MCU Sonderling zur 
Verfügung steht.

Und NEIN, Sarkasmus funzt hier im Forum nicht wirklich.

von m.n. (Gast)


Lesenswert?

Stefan schrieb:
> Das liest man hier ständig. Bitte erkläre es doch einmal für Doofe: Was
> ist ein Arduino Dialekt?

Wie schon von mknoelke geschrieben und dann noch die Eigenart, als 
Grundfunktionen setup() und loop() aufzurufen.
Selber habe ich das noch nie genutzt, weil ich immer Quellcode vom AVR 
Studio in den Editor kopiert habe. Der Editor ist - glaube ich - extrem 
beschränkt, wie man mehrere Quelldateien zufammenfaßt weiß ich nicht 
und, welche Peripherie von den diversen Bibliotheken beschlagnahmt wird, 
ist völlig intransparent.
Aber das kleine Bißchen Hardware ist für den Anfang lötfrei zu verwenden 
und die USB-Anbindung an einen PC ist sehr einfach.

Ich sehe den TO als einen Anfänger, der ohne klares Ziel noch nicht 
'verbissen' genug ist, um für die Lösung seines Problems eine hohe 
Leidensbereitschaft mitzubringen.
Daher braucht er als Allererstes ein Erfolgserlebnis, das ihn irgendwann 
auf seine eigene 'Spur' bringt. Das schafft man am besten mit schlichter 
Soft- und Hardware, die überschaubar dokumentiert ist.

Ein Arduino-Board macht es sehr einfach ein weihnachtliches "Hallo Geld" 
auf dem PC anzuzeigen.

von Stefan T. (stefant)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
herzlichen Dank für die Vielzahl an umfassenden Antworten. Ihr habt mir 
schon jetzt sehr weitergeholfen.
Für mich inzwischen klar: Ich muss den Elektronik Einsteig gleich 
mitmachen. Dazu braucht es die entsprechende Grundausstattung. Ich habe 
mal ein Excel angehangen, was ich mir besorgen würde. Bei den Bauteilen 
selbst habe ich mich nach dem "Absolute Beginners" Artikel hier 
gerichtet, bei den Stückzahlen habe ich, wie jedem erfahrenen sicherlich 
sofort auffällt, einfach mal ins Blaue geraten. Es würde mich sehr 
freuen, wenn sich jemand die Mühe machen würde und mal einen Blick auf 
die Liste wirft und korrigierend eingreift wo notwendig.
An Werkzeug möchte ich erstmal nichts zukaufen. Ich habe schon lange ein 
Metex 3640 (Multimeter) bis jetzt hat das für mich immer gereicht, ich 
hoffe, das tut es für dein Einstieg in die Elektronikwelt auch. 
Ansonsten ist meine Ausstattung an Handwerkzeugen recht umfangreich und 
alles was im Tutorial angeführt ist, ist vorhanden. Sollte die 
Ausführung für den neuen Anwendungszweck nicht taugen, würde ich einzeln 
nachkaufen.
Lötkolben habe ich aktuell so ein Teil: 
http://www.ersa.de/art-0340kd-257-1059.html Für Kabelschuhe anlöten oder 
mal ein Kabel flicken hat das bisher gereicht, für Eletronikbauteile ist 
das Teil wohl weniger geeignet. Sobald es vom Steckbrett zu "richtigen" 
Platinen geht muss ich mir dann wohl eine Lötstation leisten.
Oszilloskop wäre theoretisch ein Hameg 1005 vorhanden. Das hat recht 
lange gute Dienste geleistet, seit dem letzten Umzug funktioniert es 
leider nicht mehr. Ich habe noch nicht mal die geringste Idee, wo und ob 
man so ein altes Teil heute noch reparieren lassen kann, eine 
Neuanschaffung würde ich im Moment noch vermeiden wollen so möglich. So 
ganz billig ist ein gutes Oszilloskop ja leider nicht. ;)
Aber nun zum eigentlichen Ursprungsthema:
Ich habe versucht eure Beiträge von oben nach unten durchzuarbeiten, 
habe das bis jetzt aber leider noch nicht ganz geschafft. Ich wollte 
jetzt aber mal eine Antwort schreiben, nicht dass ihr denkt, ihr habe 
eure Zeit verschwendet.
Nach meinem aktuellen Stand tendiere ich stark in Richtung Atmel AVR. 
Man findet schon hier sehr viel Information und wenn man mit den Infos 
ein bisschen weitersurft kaum erfassbare Mengen an weiteren.
An der Stelle hänge ich auch gerade und vielleicht könnt ihr mir da 
nochmal ein Stückchen weiterhelfen.
Unabdingbar ist für die Programmierung die Verwendung eines PC. "Leider" 
habe ich dieses Jahr den kompletten Bestand bei uns ausgemistet und 
durch neue Maschinen ersetzt. So dass aktuell nur eine Xeon Workstation 
(Win 7 ultimate 64-bit) und zwei Notebooks (Corei5/i7 Win8 64bit) 
vorhanden sind. Was einerseits hardwareseitig zu Problemen führt - außer 
USB keine "brauchbare" Schnittstelle zur Außenwelt vorhanden, anderseits 
scheint es mir in Sachen Compiler so zu sein, dass es keinen !?! gibt, 
der 64bit tauglich ist. Kann das wirklich sein? Oder bin ich nur noch 
nicht auf den richtigen gestoßen?
In Sachen Hardware bin ich noch ziemlich "blank". Ich habe z.B. den 
Unterschied zwischen Programmerboard und Evalboard noch nicht begriffen. 
Eigentlich brauche ich doch "nur" ein Gerät mit dem ich das geschriebene 
und compilierte Programm auf den Controller schreiben kann. Diesen setze 
ich dann in "meine" Schaltung ein, wo er dann tut was er tun soll - oder 
nicht?
Auch noch nicht im Klaren bin ich mir darüber, ob ich mit einem "reinen" 
AVR besser oder schlechter fahre als mit einem Arduino (oder Derivat). 
Früher war ich in C mal gar nicht so schlecht, zumindest hat es in der 
Windowswelt zum Schreiben einiger (kleiner) Erweiterungen für CATIA V5 
gereicht. Ich fand bisher eigentlich auch die Entwicklung eines 
Algorithmus deutlich aufwendiger als diesen dann in Code umzusetzen. Von 
daher wäre mir die Programmiersprache erstmal egal, solange das nicht 
doppelt Lernen erst für den Einstieg und dann für später bedeutet.

Wenn ihr mir hier noch ein wenig weiterhelfen könntet wäre mir sehr 
geholfen.

Ciao,
Stefan
[Edit]
Glatt vergessen:
Ich bin keineswegs im Rentenalter, bis dahin habe ich noch gut 20 Jahre. 
Ich gehöre zu den glücklichen Menschen, die nicht fürs Arbeiten bezahlt 
werden sondern dafür, dass sie ihrem Hobby frönen. Ich verdiene mein 
Geld im Bereich Automotive nach einer Phase in der CAx-Methodik 
Powertrain heutzutage mit der Entwicklung von Karosserierohbauten. 
Privat bin ich immer noch mehr den Motoren, Getrieben und Fahrwerken 
verbunden was an meiner Ausbildung liegen mag. Schrauben kann ich, 
Spenglern nicht. ;) Ein Maschinenbaustudium habe ich auch mal hinter 
mich gebracht, grundsätzliches technisches Verständnis sollte also 
durchaus einigermaßen vorhanden sein.
[/Edit]

: Bearbeitet durch User
von Hans (Gast)


Lesenswert?

Stefan Tully schrieb:

> Unabdingbar ist für die Programmierung die Verwendung eines PC. "Leider"
> habe ich dieses Jahr den kompletten Bestand bei uns ausgemistet und
> durch neue Maschinen ersetzt. So dass aktuell nur eine Xeon Workstation
> (Win 7 ultimate 64-bit) und zwei Notebooks (Corei5/i7 Win8 64bit)
> vorhanden sind. Was einerseits hardwareseitig zu Problemen führt - außer
> USB keine "brauchbare" Schnittstelle zur Außenwelt vorhanden, anderseits
> scheint es mir in Sachen Compiler so zu sein, dass es keinen !?! gibt,
> der 64bit tauglich ist. Kann das wirklich sein? Oder bin ich nur noch
> nicht auf den richtigen gestoßen?

Die nativen seriellen Schnittstellen sind an PCs und Notebooks 
mittlerweile ausgestorben, das stimmt. Allerdings gibt für wenige Euro 
USB-RS232-Adapter bzw. USB-TTL-UART-Adapter. Damit kann man sehr einfach 
eine Verbindung zu einem Mikrocontroller herstellen und z.B. 
Textnachrichten in einem Terminalfenster übertragen. Aber auch ein 
Programm auf dem PC zu schreiben, das einen seriellen Port öffnet und 
darüber Daten mit dem Mikrocontroller austauscht, ist kein Hexenwerk.

Einen "64-bit tauglichen" Compiler brauchst Du nicht, da Windows x64 ja 
weiterhin 32-Bit-Anwendungen ausführen kann. AVR-Studio 6 mit dem 
AVR-GCC läuft z.B. einwandfrei unter Windows 7 x64. Die Zielplattform 
ist ja sowieso eine ganz andere (bei AVRs 8 Bit). ;-)

> In Sachen Hardware bin ich noch ziemlich "blank". Ich habe z.B. den
> Unterschied zwischen Programmerboard und Evalboard noch nicht begriffen.
> Eigentlich brauche ich doch "nur" ein Gerät mit dem ich das geschriebene
> und compilierte Programm auf den Controller schreiben kann. Diesen setze
> ich dann in "meine" Schaltung ein, wo er dann tut was er tun soll - oder
> nicht?

Es gibt mehrere Möglichkeiten.

1. Ein reines Experimentierboard, auf das ein Mikrocontroller fest 
aufgelötet ist. Darunter fallen z.B. die Arduinos. Du bekommst ein 
fertiges Board mit ein paar IO-Pins, das Du per USB an den PC anschließt 
und direkt loslegen kannst. Dieses Board ist dann schon "deine 
Schaltung", die Du über die externen Pins erweitern kannst.

2. Ein Evaluationsboard, mit Sockeln, in die man temporär einen 
Mikrocontroller steckt. Darunter fällt z.B. das STK 500 von Atmel oder 
das Pollin-Board. Den Mikrocontroller in dem Sockel kann man ebenfalls 
über den PC programmieren, außerdem gibt es auf dem Board ein paar 
Taster, LEDs etc. mit denen man experimentieren kann. Man kann so ein 
Board auch benutzen, um den Mikrocontroller im Sockel zu programmieren 
und in seine Zielschaltung einzusetzen.

3. Ein In-System-Programmer (ISP), z.B. der Atmel ISP mkII. Das ist ein 
reines Programmiergerät, mit dem man den Mikrocontroller direkt in der 
Zielschaltung programmieren kann. Du baust also von Anfang an Deine 
eigene Schaltung mit dem Mikrocontroller auf und schließt das 
Programmiergerät nur temporär über die entsprechenden ISP-Pins an, um 
eine neue Software aufzuspielen.

> Auch noch nicht im Klaren bin ich mir darüber, ob ich mit einem "reinen"
> AVR besser oder schlechter fahre als mit einem Arduino (oder Derivat).

Vielleicht fällt Dir die Entscheidung jetzt leichter. Beim Arduino 
bekommst Du ein fertiges Board, das sicher funktioniert und eine sehr 
einfache Entwicklungsumgebung. Du wirst also sehr schnell ein 
Erfolgserlebnis haben. Allerdings ist der Mikrocontroller "untrennbar" 
mit dem Arduino-Board verbunden.

Ein Evalboard mit AVR funktioniert auch recht sicher, allerdings gibt es 
schon mehr Freiheitsgerade und damit mehr Fehlerquellen (richtiger 
Sockel, richtiger Port, Jumperkabel, IDE richtig einstellen etc.) und 
die Programmierung ist hardwarenäher, Du wirst also eher mal ins 
Datenblatt des Mikrocontrollers schaun müssen, da es keine 
Abstraktionsschicht-Software wie beim Arduino gibt.

Wenn Du direkt eine eigene Schaltung aufbaust gilt das gleiche, es 
kommen aber eben noch ein paar Fehlerquellen beim Aufbau der Schaltung 
dazu. Wenn man klein mit einem Steckbrett und ein paar LEDs anfängt und 
es nicht sofort in die Ecke schmeißt, wenn es nicht gleich auf Anhieb 
funktioniert, aber alles nichts unschaffbares.

> Früher war ich in C mal gar nicht so schlecht, zumindest hat es in der
> Windowswelt zum Schreiben einiger (kleiner) Erweiterungen für CATIA V5
> gereicht. Ich fand bisher eigentlich auch die Entwicklung eines
> Algorithmus deutlich aufwendiger als diesen dann in Code umzusetzen. Von
> daher wäre mir die Programmiersprache erstmal egal, solange das nicht
> doppelt Lernen erst für den Einstieg und dann für später bedeutet.

Na dann stellt sich die Frage nach der Programmiersprache doch gar 
nicht, nimm C. Darunter fällt auch die "Arduino-Programmiersprache", die 
nichts anderes als C++ ist. Das einzige was Du lernen musst, ist der 
grundsätzliche Aufbau von Mikrocontrollerprogrammen (Initialisierung, 
Hauptschleife, Interrupts) und die Hardwareansteuerung (d.h. entweder 
die Bedeutung der Register aus dem Datenblatt lernen bzw. wie man die 
Arduino-Funktionen verwendet).

> Glatt vergessen:
> Ich bin keineswegs im Rentenalter, bis dahin habe ich noch gut 20 Jahre.
> Ich gehöre zu den glücklichen Menschen, die nicht fürs Arbeiten bezahlt
> werden sondern dafür, dass sie ihrem Hobby frönen. Ich verdiene mein
> Geld im Bereich Automotive nach einer Phase in der CAx-Methodik
> Powertrain heutzutage mit der Entwicklung von Karosserierohbauten.
> Privat bin ich immer noch mehr den Motoren, Getrieben und Fahrwerken
> verbunden was an meiner Ausbildung liegen mag. Schrauben kann ich,
> Spenglern nicht. ;) Ein Maschinenbaustudium habe ich auch mal hinter
> mich gebracht, grundsätzliches technisches Verständnis sollte also
> durchaus einigermaßen vorhanden sein.

Nach dem was Du so schreibst, habe ich den Eindruck, dass Du keinen 
Arduino brauchst, sondern mit einem reinen AVR + Programmer und/oder 
Entwicklungsboard mit Atmel Studio sehr gut zurecht kommen wirst.

von Die Alternative (Gast)


Lesenswert?


von m.n. (Gast)


Lesenswert?

Hans schrieb:
> Allerdings ist der Mikrocontroller "untrennbar"
> mit dem Arduino-Board verbunden.

Das ist nicht ganz richtig. Es gibt Arduino-Boards, auf den ein AVR im 
SMD-Gehäuse aufgelötet ist. Das finde ich nicht gut, da der 
freigewordene Platz überhaupt nicht benötigt bzw. benutzt wird.
Daher mein Rat, ein Board mit gesockeltem ATmega328 im DIL28-Gehäuse zu 
nehmen.

Hans schrieb:
> Nach dem was Du so schreibst, habe ich den Eindruck, dass Du keinen
> Arduino brauchst, sondern mit einem reinen AVR + Programmer und/oder
> Entwicklungsboard mit Atmel Studio sehr gut zurecht kommen wirst.

Das mag so sein; andererseits ist mit der fertigen Lösung der Einstieg 
sehr einfach und es gibt auch die Möglichkeit, das Arduino-Board 
anschließend als ISP-Programmiergerät zu verwenden. Damit kann man dann 
AVRs in anderen/eigenen Schaltungen programmieren.

Zur Stückliste: Steckbretter und damit verbundene Stiftleisten und Kabel 
habe ich nie benutzt. Als Probeaufbau kann man auch dreidimensionale 
Gebilde zusammenlöten, die u.U. noch einen bleibenden künstlerischen 
Wert behalten :-)

m.n. schrieb:
> Alle Vorschläge, die zum ARM als Einstiegsprozessor raten, solltest Du
> völlig ignorieren.

Das wurde ja schon geschrieben.

von Seano L. (Gast)


Lesenswert?

Stefan Tully schrieb:
> Hallo zusammen,
> herzlichen Dank für die Vielzahl an umfassenden Antworten. Ihr habt mir
> schon jetzt sehr weitergeholfen.
> Für mich inzwischen klar: Ich muss den Elektronik Einsteig gleich
> mitmachen. Dazu braucht es die entsprechende Grundausstattung. Ich habe
> mal ein Excel angehangen, was ich mir besorgen würde. Bei den Bauteilen
>...

Mein Gott, in der Zeit die du bis jetzt für Recherchen verplempert hast 
haben andere schon lange angefangen und die ersten selber gelöteten 
Platinen im Einsatz und ohne den ganzen Kram (Oszi,...) der bei dir 
schon rumsteht.
Das sind ja echte Luxusproblem die du hast. Ich glaube du sitzt in einem 
Jahr noch am Schreibtisch und überlegst dir was du jetzt kaufen sollst.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich nutze sehr gerne einen ARM (bzw den STM32), würde den auch 
empfehlen, aber da Stefan Tully ein absoluter "neueinsteiger" ist, kann 
ich den für ihn persönlich nicht empfehlen.
Ein Arduino oder ein AVR ist die Richtige Wahl.

: Bearbeitet durch User
von Antimedial (Gast)


Lesenswert?

m.n. schrieb:
> Das wurde ja schon geschrieben.

Ist aber immer noch falsch.

von Basics (Gast)


Lesenswert?

Stefan Tully schrieb:
> Hallo zusammen,
> ich bin absoluter Neueinsteiger in die Welt der Elektronik und
> Mikrocontroller Programmierung. Ein bisschen Programmierung habe ich in

Ich würd ihm erstmal raten mit den Basics der Elektronik anzufangen. 
Ohmsches Gesetz und so. Mit Multimeter messen und Vorwiderstände von 
LEDs zu berechnen, Transistoren himmeln bevor die Fragen kommen, wieviel 
Ausgangsstrom denn ein STM32-Pin ab kann vielleicht auch noch 
Datenblattenglisch zu lernen.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Zum Beispiel ein Kosmos Elektronik Kasten. Alles gut beschrieben.

von Andreas H. (ahz)


Lesenswert?

Hans schrieb:
> Nach dem was Du so schreibst, habe ich den Eindruck, dass Du keinen
> Arduino brauchst, sondern mit einem reinen AVR + Programmer und/oder
> Entwicklungsboard mit Atmel Studio sehr gut zurecht kommen wirst.

Das sehe ich eigentlich genau so.

Der Vorteil des Arduino liegt darin, dass es alles sehr preiswert und 
schnell beschaffbar ist. Einfach mal in der Bucht "Arduino Uno" eingeben 
und sich was passendes aussuchen.
Da der Uno einen Prozessor im gesockelten DIL benutzt, kann man den auch 
preiswert ersetzen, wenn es mal "knallt". Auch das Umsetzen auf das 
Breadboard ist damit trivial.

Zusätzlich würde ich auch den MK-II Programmer empfehlen. Der past auch 
an den Arduino Uno. Dann kann man mit dem Atmel-Studio den Prozessor 
auch "bare metal" programmieren, falls einem die Arduino Software nicht 
gefällt.

Ansteuerboards für Motoren, LCD usw. gibt es dazu auch. Wie gesagt: 
Einfach mal in der Bucht stöbern gehen.

Ansonsten sieht Dein Bestellzettel für den Anfang ziemlich vollständig 
aus. Allerdings sind solche Listen NIE vollständig ;-)

Das Netzteil würde ich noch einmal überdenken. Mit nur einer Spannung 
kann man keine symetrischen Versorgungen aufbauen (z.B. -15V,0V,15V), 
die man gelegentlich braucht.

Für die Cs/Rs solltest Du mal schauen, ob Du mit fertigen Sortimenten 
nicht preiswerter fährst. Reichelt und die Bucht haben da z.B. ganz 
brauchbare Angebote.

Grüße
Andreas

P.S:
Das "PC Interface Problem" kann man heute relativ schnell mit 
entsprechenden USB Adaptern lösen, z.B. (Für RS232)
http://www.ftdichip.com/Products/Cables/USBRS232.htm
Entsprechende Adapter gibts da auch für paralleles IO.
FTDI liefert auch sehr schnell an Provatkunden über den WEB Shop.
A.

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo zusammen.

@ Stefan:

Sieh dir doch mal diese Seite an:

http://www.rowalt.de/

Ein Buch, dazu gehört ein Experimentierboard.
Dieses Board ist als Bausatz bei SEGOR erhältlich.

http://www.segor.de/#Q%3DAVR-Lehrbuch%25252FTeilesatz%26M%3D1

Löten kannst du ja, und auch mit einem ERSA30 wirst du dieses Teil
zusammen gelötet bekommen.
Dazu brauchst du noch einen Programmer.

Das wäre erst mal ein Anfang.
Die C-Leute schreien jetzt natürlich sofort: IHHHH.... BASIC.
In jeder Sprache kann man unleserlichen Code schreiben....

Ich bin mit Board und Buch bestens zurecht gekommen; das hat
mir meinen Einstieg sehr leicht gemacht.

73
Wilhelm

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Achtung:

Aus dem Segor-Link
kommt man nicht mehr zurück!

73
Wilhelm

von SCNR (Gast)


Lesenswert?

Wilhelm Schürings schrieb:
> Das wäre erst mal ein Anfang.
> Die C-Leute schreien jetzt natürlich sofort: IHHHH.... BASIC.
> In jeder Sprache kann man unleserlichen Code schreiben....

... und das besonders in C  :-) :-) :-)

von Jan B. (berge)


Lesenswert?

Die erste Frage, die du dir stellen solltest ist, natürlich neben dem 
"was will ich überhaupt erreichen (können), die, in welcher 
Programmiersprache du arbeiten möchtest. Ich denke es gibt die folgenden 
Optionen:
- Hardwareferne bzw. -fernere Sprachen wie Python oder Arduino C++. 
Vorteil: Viele Details bleiben dir verborgen, du kannst schnell zu 
Ergebnissen kommen. Nachteil: Irgendwann willst du wahrscheinlich 
irgendetwas realisieren, was nicht in den Standard-Bibliotheken 
vorgesehen ist. Dann musst du selbst Hand anlegen in C/C++. Und: Hier 
verbrätst du einiges an Hardware-Performance, durch die Bibliotheken 
bzw. ein Betriebssystem. Du hast also etwas weniger Kontrolle über die 
Hardware.
- Bascom wäre, so weit ich das sehe, ich nutze es nicht, ein 
Zwischending. Ich würde vermuten, es gibt dazu etwas weniger Support auf 
Websites und im Forum. Die Möglichkeiten dürften etwas erhöht zu den 
erstgenannten sein, aber man erkauft sich auch etwas Inflexibilität, da 
es denke ich nicht so viele Bascom taugliche Entwicklungsumgebungen etc. 
gibt. Ich finde den Trade-Off "Etwas mehr Flexibilität" gegen "Deutlich 
schlechterer Support" nicht lohnenswert. Aber mach dich selbst schlau.
- Programmierung in C/C++: Wie oben schon gesagt, recht verbreitet und 
daher gibt es jede Menge Unterstützung, Tutorials etc. Auch viele 
Bibliotheken für Standardprobleme sind verfügbar (siehe u.a. Link 
unten). C/C++ gibt es auch für jede Plattform. Ob du einen Atmel 
Microcontroller oder einen von NXP programmieren willst: Es geht mit 
C/C++. Außerdem hast du alles von in der Hand, kein Betriebssystem funkt 
dazwischen (außer du nutzt doch eines ;) Nachteil: Ja, gerade in C kann 
man wirklich unsauber programmieren. Aber da muss man sich am Riemen 
reißen und sauber programmieren.
- Programmierung in Assembler: Für mich, bis auf Spezialprobleme, 
eigentlich keine Option mehr. Einfache Dinge sind in Assembler einiges 
an Aufwand. Man muss u.a. Statusregister des Prozessors auslesen etc. 
Während ich in einer Hochsprache einfach a = b + c schreibe, muss ich 
das in Assembler ggfs. in mehrere Zwischenoperationen zerlegen und dann 
noch z.B. in den Statusregistern des Prozessors nachschauen, ob bei der 
Addition z.B. ein Overflow aufgetreten ist. Ein Vorteil ist natürlich, 
dass du jede Operation des Prozessors in der Hand hast. Das erkauft man 
sich aber recht teuer. Kommentare im Code sind absolut Pflicht, da man 
die Operationen nicht einfach nachvollziehen kann, und Variablennamen 
vergeben kann man auch nicht. Man muss auch wissen, in welches Register 
man zum gegeneben Zeitpunkt welche Variable vorhält. Das ganze 
Registermanagement hat man damit auch am Hals. Eine Hochsprache nimmt 
einem das alles ab. Ein Vorteil ist vielleicht noch, dass man die 
Prozesse in der Tiefe versteht. Das ist durchaus hilfreich für jede 
Programmierung, überfordert aber am Anfang denke ich.

Dann zur Hardware:
- Willst du in Python programmieren, brauchst du einen Raspberry Pi. 
Super Ding, einfach zu programmieren, ist aber mit Kanonen auf Spatzen 
geschossen, wenn du nur z.B. eine LED blinken lassen willst.
- In Arduino kannst du schnell loslegen, es gibt auch eine gute 
Unterstützung für vieles. Aber: Die begrenzten Möglichkeiten können 
schnell einbremsen. Das hängt halt davon ab, was du machen willst.
- Bascom ist glaub ich ein Ding, was auf Atmel 8-Bittern hauptsächlich 
läuft. Kann man machen, aber ich würde eher abraten.
- Willst du in C/C++ programmieren, kannst du fast alles nehmen.
- Willst du in Assembler programmieren, kannst du theoretisch auch fast 
alles nehmen. Praktisch solltest du dich auf echt einfache Hardware wie 
z.B. die 8-Bit uCs von Atmel, beschränken, da es sonst viel zu komplex 
von der Programmierung wird.


Ich würde dir allerdings von einem 8-Bit uC abraten. Dagegen sprechen 
die begrenzteren Möglichkeiten. Es kamen ja schon Kommentare, dass die 
8-Bitter auf jeden Fall reichen, und ja, ich weiß, man muss keinen USB 
Stick oder Netzwerk an seinen Mikrocontroller anschließen, aber dass man 
es kann, ist super. Man hat mal schnell einen MP3 Player gebastelt oder 
speichert Daten auf dem Stick etc. Das ist einfach super. Vorallem 
spricht für mich aber das schlechtere Debugging gegen z.b. die 8-Bit 
Atmegas. Will ich meinen Code auf Fehler analysieren, ist es sehr 
hilfreich, einfach einen Breakpoint in der Entwicklungsumgebung setzen 
zu können und durch mit dem Mauszeiger über die Variable fahren lesen zu 
können, welchen Wert sie hat. Bei den 8-Bittern geht das meist nicht 
direkt und ich muss eigens Code schreiben, der mir entweder LEDs zum 
blinken bringt oder ein Display für die Ausgabe anschließen. Das ist 
einfach zusätzlicher Aufwand, den man sich schenken kann.


Mein Tipp daher: Fang mit einem STM32F4 Discovery Board an.

Das hat mehrere Gründe
- Günstig (ca. 15€, ein Programmieradapter ist mit drauf. Nur noch ein 
Mini-USB Kabel dazu, dann geht es los)
- Es gibt super Entwicklungsumgebung mit CooCox IDE (www.coocox.org), 
die einfach zu installieren ist
- Es gibt eine aktive Community und jede Menge Beispielprojekte (guck 
z.B. mal bei http://mikrocontroller.bplaced.net/). Mit den Beispielen 
lässt sich viel erreichen, wie mit dem Mikrocontroller generell. Von da 
aus kann man dann seine eigenen Schritte gehen.

Programmieren müsstest du allerdings in C/C++. Da es aber viele 
Beispiele gibt, denke ich kann man da recht gut reinkommen.

Ich hoffe das hilft dir.

Liebe Grüße, Jan

von Lutz H. (luhe)


Angehängte Dateien:

Lesenswert?

Ich schlage auch etwas vor,
STM32F4 DISCOVERY STM32F429 TFT LCD


 32 Bit mit Bildschirm und Kommunikation zur Entwicklungsumgebung COOCOX 
mit DEBUG. Zwei LED für erste Versuche. Viele Schnittstellen und gute 
Dokumentation vom Hersteller des Boards.
Mit einem Breadboard for Arduino und anderen Kleinkram sind 
Erweiterungen möglich.

Auf dem Bildschirm ist ein Hintergrundbild sichtbar.
Es ist viel Hardware auf dem Board vorhanden, die nutzbar ist.

von Klaus I. (klauspi)


Lesenswert?

Stefan Tully schrieb:
> Für mich inzwischen klar: Ich muss den Elektronik Einsteig gleich
> mitmachen. Dazu braucht es die entsprechende Grundausstattung. Ich habe
> mal ein Excel angehangen, was ich mir besorgen würde. Bei den Bauteilen
> selbst habe ich mich nach dem "Absolute Beginners" Artikel hier
> gerichtet, bei den Stückzahlen habe ich, wie jedem erfahrenen sicherlich
> sofort auffällt, einfach mal ins Blaue geraten. Es würde mich sehr
> freuen, wenn sich jemand die Mühe machen würde und mal einen Blick auf
> die Liste wirft und korrigierend eingreift wo notwendig.

Hängt ja immer davon ab, was man später mal macht :oD :oD ;oD

Ich habe jetzt mal darübergesehen und meine Anmerkungen dazu 
geschrieben. Übrigens habe ich den Eindruck gewonnen, dass Du Dir hier 
eher mal zuviel Gedanken machst. IMHO bist Du inzwischen schon bereit um 
zu bestellen und erstmal loszulegen. Irgendetwas fehlt ja immer ;o)

Steckbrett:
IMHO beste Qualität, Super wenn Du viel Platz hast in Deiner 
Bastel-Ecke, ansonsten reicht auch ein halb so grosses lange Zeit aus.
Bei Gelegenheit vielleicht auch noch ein paar billige kleinere mit z.B. 
270 Kontakten kaufen, ich lasse darauf manche Schaltungen gerne mal 
stehen. Manche Bauteile kann man auch in das Steckbrett reinquetschen, 
es wird dadurch aber beschädigt oder unzuverlässig und da nehme ich auch 
immer die günstigen.
http://www.conelek.com/Elektronik-Laborbedarf-58/Steckplatinen/Standard-Line-SYB/-p-Steckplatine-270-Kontakte-SYB46-br-----p-.html


Fehlt noch:
Verbindung von den 4mm Bananenbuchsen auf die einzelnen 
Stromversorgungszeilen des Steckbretts:
http://www.conelek.com/Elektronik-Laborbedarf-58/Laborkabel/0-6mm/Testkabel-flexibel-PIN---Y-Anschluss-100-mm--TS100PY.html


Drahtbrücken:
Hier würde ich zu dem grösseren und vor allem übersichtlich sortiertem 
Set raten, fand ich deutlich besser als das Kleine:
http://www.conelek.com/Elektronik-Laborbedarf-58/Drahtbruecken/Drahtbruecken--fuer-Steckplatinen-Set---350-Stueck-KS350.html


Laborkabel 4mm:
Vielleicht doppelt soviele bestellen?


Widerstände:
Vielleicht doch noch ein Sortiment von Vellemann? Bei Reichelt 
"K/RES-E3" und/oder "K/RES-E12". Falls Geld keine Rolle spielt - 
Reichelt führt auch die Sortimente des komfortablen Comp-Card-Systems, 
z.B.: Metallschicht E24 von 1R bis 1M (10 Stück je Wert) für 67,75 EUR


Potis:
Du hast hier Trimmer (nur mit Schraubenzieher oder "Trimmbesteck" 
einzustellen.) im Focus. Am Anfang sind vermutlich eher die Potis die 
mit der Hand verstellt werden gemeint (z.B. Reichelt PO6M-LIN 1,0M): Da 
gibt es sogar ein erwähnenswertes Pollin-Sortiment (wobei man da nie 
wissen kann, was man bekommt - Überraschungspaket) 
http://www.pollin.de/shop/dt/MzY5OTkxOTk-/Bauelemente_Bauteile/Sortimente/Passive_Bauteile/Potentiometer.html


Da Du bei Widerständen, ElKos, LEDs, KerKos und Transistoren nicht zu 
den Vellemann-Sortimenten greifst und lieber einzelne Werte bestellst, 
hast Du dir ja sicherlich schon viele Gedanken darüber gemacht. Wir 
wollen es ja übersichtlich gestalten: Taugt schon für den Einstieg.

OPV und 555:
Da reichen ein paar wenige (2-3?) für den Einstieg, ansonsten würde ich 
ICs später immer nach Interesse bzw. Bedarf bestellen. Habe auch ganz 
viele Logik-Gatter-ICs gekauft. Aber die Einsteigerexperimente waren 
dann so witzlos, dass man das nichtmal mehr aufgebaut hat.
Zu jedem IC auch zwei low-cost IC-Fassungen mitbestellen. Die 
Präzisionssockel halten nicht im Steckbrett und man kann am Anfang (wenn 
man noch unsicher ist) auch doppelt gesockelt arbeiten. Später erkennt 
man, dass man vielleicht bisher zu vorsichtig war und die Viecher mehr 
aushalten, als man zunächst gedacht hatte.


Schalter/Taster
Die Taster sind interessant am Anfang, aber von den teuren Schaltern 
vielleicht erstmal nur zwei kaufen. Die Umschalter braucht man erstmal 
kaum und in ein paar Wochen findest Du viel günstiger Quellen :o)

Stiftleisten
neben Stiftleisten auch wenige Buchsenleisten und 
Präzisionsbuchsenleisten bestellen. Teuer aber sehr universell sind die 
Reichelt MPE 115-1-036 . Kann man alle mal brauchen.




Was könnte noch fehlen?

Klemmprüfspitzen mit Messleitung mit so kleinen Haken um z.B. einzelne 
IC-Pins abzugreifen
http://www.conelek.com/Elektronik-Laborbedarf-58/Klemmpruefspitzen/Klemmpruefspitzen-mit-Messleitung-5-Paar-5-Farben-37cm-PL15.html


Klingeldraht divers Farben: selbst Verbindungen für Steckbrett oder 
Lochraster konfektioneren
http://www.conelek.com/Elektronik-Laborbedarf-58/Drahtbruecken/Schaltdraht---Y-Draht---Klingeldraht-0-6mm-Durchmesser-10m--rot--schwarz--gelb--blau--weiss-103459.html

Flexible Drahtbrücken mit runden Kontakt (billig und ideal für 
Buchsenleiste mit Präzisionskontakt, für Steckbrett auch ok)
http://www.conelek.com/Elektronik-Laborbedarf-58/Laborkabel/0-6mm/Testkabel-flexibel-Pin-d-0-6-mm---Pin-d-0-6-mm-ca--75-St--verschiedene-Farben-verschiedene-Laengen--103436-3096.html

Piezo Schallgeber?
http://www.conelek.com/Bauteile-Bauelemente/Elektromechanische/Summer/Piezo-Element-24mm-6kHz-90dB-103434.html

Lochraster und Streifenraster Platinen

Schrumpfschläuche

Folienkondensatoren, da ist auch das "Pollin-Sortiment" interessant zum 
basteln

Adernendhülsen

Abbiegevorrichtung für Widerstände u.a.
http://www.conelek.com/Elektronik-Werkstatt/Loeten/Zubehoer-122/Abbiegevorrichtung-fuer-Rastergroessen-7-5mm---17-5mm-ABV.html

von Klaus I. (klauspi)


Lesenswert?

Stefan Tully schrieb:

> Für mich inzwischen klar: Ich muss den Elektronik Einsteig gleich
> mitmachen.

So habe ich Dein erstes Posting auch verstanden. Ich denke aber, 
inwischen hast Du Dich schon für die erste Bestellung ausreichend 
intellektuell vorbereitet. Inzwischen kannst Du wirklich den Anfang 
wagen.


Dazu braucht es die entsprechende Grundausstattung. Ich habe
> mal ein Excel angehangen, was ich mir besorgen würde. Bei den Bauteilen
> selbst habe ich mich nach dem "Absolute Beginners" Artikel hier
> gerichtet, bei den Stückzahlen habe ich, wie jedem erfahrenen sicherlich
> sofort auffällt, einfach mal ins Blaue geraten. Es würde mich sehr
> freuen, wenn sich jemand die Mühe machen würde und mal einen Blick auf
> die Liste wirft und korrigierend eingreift wo notwendig.

Wie gesagt, Du kannst schon anfangen in meinen Augen. Gewisse Fehlkäufe 
lassen sich nicht vermeiden und irgendwas hat man sowieso übersehen.

Ich bin mal meine ersten Bestellungen mit Deiner Liste durchgegangen 
(siehe oben) und das taugt schon. Aber da Verzettelt man sich halt ganz 
gerne, IMHO ist deine Anfangsbestellung durchaus brauchbar.
Z.B. würde ich jetzt weniger PNP-Transistoren nehmen. Aber bei 4 Cent 
pro sollten wir uns keine Gedanken darüber machen und ich möchte auch 
die Vorwürfe vermeiden, wo Dir mal genau diese 10 PNP-Transistoren dann 
wirklich mal fehlen ;oD

> An Werkzeug möchte ich erstmal nichts zukaufen. Ich habe schon lange ein
> Metex 3640 (Multimeter) bis jetzt hat das für mich immer gereicht, ich
> hoffe, das tut es für dein Einstieg in die Elektronikwelt auch.

Kauf Dir noch zwei kleine Billig-Multimeter (<<10 EUR) dazu. Ideal wären 
vielleicht welche wo man zwischen Spannung- und Strom-Messung nicht 
umstecken muss.

> Lötkolben habe ich aktuell so ein Teil:
wird schon taugen (kenne den Lötkolben nicht). Neben den Lötkolben 
braucht man ja noch Lötzinn 1mm, manchmal Entlötlitze und vielleicht 
noch extra Flussmittel aka Löthonig (Z.B. 20g Kolophonium -Pollin 
840041- in 100 mL Ethanol auflösen).


> Aber nun zum eigentlichen Ursprungsthema:
> ...
> Nach meinem aktuellen Stand tendiere ich stark in Richtung Atmel AVR.
> Man findet schon hier sehr viel Information und wenn man mit den Infos
> ein bisschen weitersurft kaum erfassbare Mengen an weiteren.
> An der Stelle hänge ich auch gerade und vielleicht könnt ihr mir da
> nochmal ein Stückchen weiterhelfen.

Fang doch einfach mit dem simplen AVR an und arbeite die Tutorials hier 
ab. Da ist halt die Dokumentation am besten, und bei Problemen kannst Du 
schnell Hilfe bekommen.
Mach Dir da nicht soviele Gedanken, wenn Du Dich da ein bisschen 
eingearbeitet hast, kannst Du ganz schnell auf andere Systeme wechseln.


> Unabdingbar ist für die Programmierung die Verwendung eines PC. "Leider"
> habe ich dieses Jahr den kompletten Bestand bei uns ausgemistet und
> durch neue Maschinen ersetzt. So dass aktuell nur eine Xeon Workstation
> (Win 7 ultimate 64-bit) und zwei Notebooks (Corei5/i7 Win8 64bit)

Das kann schon ein paar Zicken machen. Bei meinem Umstieg auf Win 7 mit 
64bit ist erstmal gar nichts gelaufen. Jetzt tut es aber.

> In Sachen Hardware bin ich noch ziemlich "blank". Ich habe z.B. den
> Unterschied zwischen Programmerboard und Evalboard noch nicht begriffen.
> Eigentlich brauche ich doch "nur" ein Gerät mit dem ich das geschriebene
> und compilierte Programm auf den Controller schreiben kann. Diesen setze
> ich dann in "meine" Schaltung ein, wo er dann tut was er tun soll - oder
> nicht?

Ich habe ja mit einem Pollin-Board und einem usbasp-Programmer 
angefangen...
Das eine ist halt die Beispiel-Schaltung wo der Mikrocontroller sitzt 
und mit LEDs und Tastern (und Sensoren) verbunden ist. Das andere ist 
die Programmierung des Mikrocontrollers. Natürlich könnte man in immer 
aus der Schaltung herausnehmen und im Programmiergerät neu flashen, aber 
es gibt ja auch z.B. ISP. Da liegt auf der Schaltung/der Platine ein 
Anschluss für den Programmer und Du kannst dann den Mikrocontroller so 
das neue Programm hochladen.


> Auch noch nicht im Klaren bin ich mir darüber, ob ich mit einem "reinen"
> AVR besser oder schlechter fahre als mit einem Arduino (oder Derivat).
> Früher war ich in C mal gar nicht so schlecht

Die Entscheidung ist in meinen Augen sehr leicht. Ich kann zwar 
persönlich mit C nichts anfangen. Aber wenn Du C kannst: Kauf Dir ein 
paar ATmegas und mach die AVR-C-Tutorials hier durch.
Einfacher geht es gar nicht, es ist gut dokumentiert und die Leute hier 
können Dir bei Problmene sehr schnell weiterhelfen.
Dann kannst Du Dir noch immer darüber gedanken machen, ob eine andere 
Plattform nicht besser für Dich wäre.


Attacke!!!
Klaus

von F. F. (foldi)


Lesenswert?

Autor: Klaus I. (klauspi)
Datum: 25.12.2013 22:01

Klaus I. schrieb:

>
> Ich habe jetzt mal darübergesehen und meine Anmerkungen dazu
> geschrieben.


Sehr ordentlich!

von Ralph (Gast)


Lesenswert?

Ich würde jetzt mit den 8 Bittern nicht mehr anfangen.
Sondern direkt auf einen Arm Cortex gehen.

Den STM oder die Ti Stellaris Reihe.
Für beide gibt es günstig DevelBoards mit kompletten 
Entwicklungsumgebungen inklusive Debugger.
Je nachdem welche IDE man sich aussucht sind dort Einschränkungen bei 
Codegröße vorhanden oder auch komplett frei.
Diese Develboards haben dann auch Steckleisten an die man weitere 
Schaltungen anschließen kann.



Die 8 Bitter haben nur noch einen (1) Vorteil. Das ist die verfügbare 
Gehäuseform.

Obwohl ein SMD löten auch nicht so das unmögliche ist. Man brauch 
vielleicht etwas mehr Übung wie bei einem DIL Gehäuse.

von Andreas H. (ahz)


Lesenswert?

Jan Berg schrieb:
> Vorallem
> spricht für mich aber das schlechtere Debugging gegen z.b. die 8-Bit
> Atmegas. Will ich meinen Code auf Fehler analysieren, ist es sehr
> hilfreich, einfach einen Breakpoint in der Entwicklungsumgebung setzen
> zu können und durch mit dem Mauszeiger über die Variable fahren lesen zu
> können, welchen Wert sie hat. Bei den 8-Bittern geht das meist nicht
> direkt und ich muss eigens Code schreiben, der mir entweder LEDs zum
> blinken bringt oder ein Display für die Ausgabe anschließen. Das ist
> einfach zusätzlicher Aufwand, den man sich schenken kann.

Prinzipiell hast Du da schon recht. Allerdings kommt man da früher oder 
spatter ja doch nicht mehr drum herum. Wenn Du z.B. bei einer 
Fehlersituation ein Scope/LA trigger musst um dann auf dem Board den 
Fehler suchen zu können.

Nachteilig empfinde ich bei den 32-Bit CPUs, dass sie extreme viel 
(sinnvolle) Features haben, die einen Anfänger extreme verwirren können.

Ich würde darum am Anfang immer einen 8-Bitter empfehlen.

Grüße
Andreas

von Future (Gast)


Lesenswert?

Mein Gott, wenn ich lese, wie hier die AVRs wie sauer Bier angeboten 
werden, bekomme ich richtig Mitleid.

Nimm ein Launchpad (oder Discovery Board) und starte von 0 auf 100. Beim 
AVR musst du durch das Tal der Tränen. Da kannst du gleich einen 68HC 
oder 8051 nehmen. :-(((

Also starte mit ARM oder zur Not MSP430. Aber nicht mehr mit den 
abgehangenen AVRs oder ST8.

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Nachteilig empfinde ich bei den 32-Bit CPUs, dass sie extreme viel
> (sinnvolle) Features haben, die einen Anfänger extreme verwirren können.
>
> Ich würde darum am Anfang immer einen 8-Bitter empfehlen.

Dann nimm doch 16Bit, das ist ein Kompromiss. ;-)

Mal ehrlich: 32Bit ist nicht schwieriger als 8Bit. In einer Hochsprache 
merktst du das gar nicht. Aber nicht alle Architekturen sind gleich und 
schon gar nicht die Peripherie!

von F. F. (foldi)


Lesenswert?

Ich kann diese Empfehlungen zu den Cortexen nicht verstehen. 
Offensichtlich seid ihr schon so lange vom Einstieg entfernt, dass ihr 
keine Erinnerung mehr daran habt, wie schwer der Einstieg mal gewesen 
ist, trotz der einfachen 8-bitter.

Es sind nicht nur die vielen Bücher und Tutorials, auch sind es nicht 
allein die einfachen Gehäuseformen, die es erlauben es auf dem 
Steckbrett zu probieren, vor allem sind es erstmal die Anwendungen.
Was machen wir denn zunächst Sinvolles?

Ein Beispiel von mir:
Ich habe jetzt für ein Behindertenfahrzeug eine kleine Steuerung gebaut, 
die die Freigabe der vorderen Gurtrollen für einen von mir gewählten 
Zeitraum frei gibt. Dafür brauche ich eigentlich nur einen Pin, es sind 
aber zwei, weil ich über eine Led anzeige, dass das Relais unterbrochen 
ist.
Ein weiteres Beispiel  ist eine Kühlung für meine Fritzbox. One-wire und 
einen Lüfter. Also auch nur zwei Pins.
Diese Steuerung machte ich noch mit Arduino; Uno programmiert, uC auf 
die Platine und fertig.
Mach das mal mit einem STM32.

von Future (Gast)


Lesenswert?

F. Fo schrieb:
> trotz der einfachen 8-bitter.

Was ist denn an einem 16Bit µC schwieriger als am 8Bitter??? Ein MSP430 
ist einfacher zu erlernen als ein AVR.

Wenn man nur das Eien kennt, sollte man nicht vergleichen!!!

von Lutz H. (luhe)


Lesenswert?

Future schrieb:
> Also starte mit ARM

Genau, so sind 35 Jahre Mikrokontrollerentwicklung nutzbar.

von Future (Gast)


Lesenswert?

lutz h. schrieb:
> Future schrieb:
>> Also starte mit ARM
>
> Genau, so sind 35 Jahre Mikrokontrollerentwicklung nutzbar.

Sch... Zitat. So kann man den Sinn verfälschen.

Future schrieb:
> Also starte mit ARM oder zur Not MSP430.

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Mal ehrlich: 32Bit ist nicht schwieriger als 8Bit. In einer Hochsprache
> merktst du das gar nicht. Aber nicht alle Architekturen sind gleich und
> schon gar nicht die Peripherie!

Willkommen in der Cortex Welt. Bekanntlich ist der Cortex NUR der Core 
(!!!), der selber schon in diversen Varianten existiert. Für Anfänger 
"völlig nachvollziehbar" ^^

Und das sich die Peripherie auch noch von Hersteller zu Hersteller (und 
teilweise auch innerhalb der herstellereigenen Serien) unterscheidet 
macht die Sache nicht einfacher.

F. Fo schrieb:
> Ich kann diese Empfehlungen zu den Cortexen nicht verstehen.
> Offensichtlich seid ihr schon so lange vom Einstieg entfernt, dass ihr
> keine Erinnerung mehr daran habt, wie schwer der Einstieg mal gewesen
> ist, trotz der einfachen 8-bitter.

Full ACK. Genau DAS ist der Punkt.

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Willkommen in der Cortex Welt. Bekanntlich ist der Cortex NUR der Core
> (!!!), der selber schon in diversen Varianten existiert. Für Anfänger
> "völlig nachvollziehbar" ^^
>
> Und das sich die Peripherie auch noch von Hersteller zu Hersteller (und
> teilweise auch innerhalb der herstellereigenen Serien) unterscheidet
> macht die Sache nicht einfacher.

Und wie ist es bei AVR? Von wieviel Herstellern gibt es die? Aha nur von 
einem! :-(((

Und die sind voll kompatibel, jeder hat die gleiche HW, AT90, Atiny, 
Mega, XMega???

Atme noch einmal tief durch. ;-)

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Und wie ist es bei AVR? Von wieviel Herstellern gibt es die? Aha nur von
> einem! :-(((
>
> Und die sind voll kompatibel, jeder hat die gleiche HW, AT90, Atiny,
> Mega, XMega???
Aber hier ist die Architektur, inkl. Peripherie von einem Anfänger 
relative schnell zu durchschauen.
Und welchen Anfänger interessiert die 2nd Source Frage ? Da gehts doch 
eher um die Menge der verfügbaren Resourcen, um mal schnell was 
"abschmulen" zu können, oder ?

Wenn Du mal auf einem 32Bit uP spurious bugs durch falsche Irq-Prios 
gehabt hast, wirst Du das sicher auch keinem Anfänger mehr aufs Auge 
drücken wollen ;-)

Hier gilt doch, wie so oft, das KISS Prinzip :-)

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Und welchen Anfänger interessiert die 2nd Source Frage ?

Das hast du ins Spiel gebracht.

Andreas H. schrieb:
> Wenn Du mal auf einem 32Bit uP spurious bugs durch falsche Irq-Prios
> gehabt hast, wirst Du das sicher auch keinem Anfänger mehr aufs Auge
> drücken wollen

Und beim 8Bitter brauche ich mir um Interrupt-Prioritäten keine Sorgen 
zu machen???

Was bitte schön hat das alles mit der Bit-Breite zu tun???

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Und beim 8Bitter brauche ich mir um Interrupt-Prioritäten keine Sorgen
> zu machen???
>
> Was bitte schön hat das alles mit der Bit-Breite zu tun???

Bei welchen 8-Bittern kannst Du die IRQ Prioritäten denn ändern, also 
z.B. USBIRQ höher/niedriger priorisieren als einen PCI ?

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Bei welchen 8-Bittern kannst Du die IRQ Prioritäten denn ändern

Ob ich sie ändern kann oder nicht ist doch völlig egal. Ich muss die 
Proiritäten kennen und mir über deren Auswirkungen bewusst sein!!! Und 
das hat immer noch nichts mit Bitt-Breite zu tun!!! (Gäghhnn)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Für Stefan Tully ist der AVR besser als der STM32 weil:
- Peripherie ist viel schlanker und somit leichter zu verstehen
- Die Doku ist kürzer
- Es gibt nicht so viele Peripherie Module
- Es gibt mehr Einsteiger Bücher und Tutorien
- Er ist Mitte 40 und hat ansonsten keinerlei Kontakte zu Schulen oder 
anderen (außer Forum/Internet)
- Er programmiert kein PC und es sind somit kaum Kenntnisse vorhanden
- reines Hobby ohne Aussicht auf berufliche Nutzung

Unwichtig ist:
- 8, 16 oder 32 Bit
- Interrupt System
- Spannung 3,3V 5V
- Assembler
- DIP Gehäuse (STM32 Boards sind z.T. auch Steckbrettauglich)

Bei anderen persönlichen Eigenschaften würde ich ebenfalls einen STM32 
empfehlen, aber nicht bei ihm.

von Future (Gast)


Lesenswert?

Markus Müller schrieb:
> Unwichtig ist:
> - 8, 16 oder 32 Bit
> - Interrupt System
> - Spannung 3,3V 5V

Danke, Danke, Danke!!!

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Ob ich sie ändern kann oder nicht ist doch völlig egal. Ich muss die
> Proiritäten kennen und mir über deren Auswirkungen bewusst sein!!!
Genau. Und das ist (nicht nur für Anfänger) einfacher, wenn sie durch 
das Design und nicht durch den Programmierer festgelegt sind.
Dann kann da eben auch nichts schiefgehen. Anfänger haben genug andere 
"Baustellen". Wieviele sind den schon beim ATMEGA an _delay_ms() 
verzweifelt, weil sie die FCPU nicht #defined hatten ?
(Da durch die includes dann ein default genommen wird, kommt ja auch 
keine Fehlermeldung, sondern nur eine längere Fehlersuche.)


> Und das hat immer noch nichts mit Bitt-Breite zu tun!!! (Gäghhnn)
Nein, direkt mit der Bitbreite natürlich nicht, sondern mit der durch 
die Strukturverkleinerung gegebenen Möglichkeit, mehr Features zu 
integrieren.
Bau mal einen Cortex auf der Technologie eines ATMEGA (90nm vs 0.8um ?? 
Weiss es auch nicht genau). Das Ding hätte eine Kantenlänge von 
vermutlich 20mm.

Grüße
Andreas

P.S:
Future schrieb:
> Ein MSP430 ist einfacher zu erlernen als ein AVR.
Da muss ich Dir sogar mal recht geben. Nicht wegen dem lernen, sondern 
wegen dem benutzen.
Ich habe letztens ein Miniprojekt von einem MSP430 auf einen ATMEGA 
runterportiert (der Kunde macht seine Boards damit) und war nur am 
Fluchen.
A.

von Lutz H. (luhe)


Lesenswert?

Ich habe vor vier Wochen mit den Mikrokontrollern angefangen, und finde 
es sehr praktisch mit diesem  32 bit DISCO Board  zu  arbeiten. Auf dem 
Mikrokontroller gleich einen  Bildschirm mit einer Eingabemöglichkeit zu 
haben ist einfach praktisch.
 Wenn ich mich als Einsteiger auf Interrupt-Prioritäten konzentrieren 
möchte, kann ich diese Prioritäten bei 8- bit oder 32 bit entsprechend 
vergeben.

von Andreas H. (ahz)


Lesenswert?

lutz h. schrieb:
> Ich habe vor vier Wochen mit den Mikrokontrollern angefangen, und finde
> es sehr praktisch mit diesem  32 bit DISCO Board  zu  arbeiten. Auf dem
> Mikrokontroller gleich einen  Bildschirm mit einer Eingabemöglichkeit zu
> haben ist einfach praktisch.
Das glaube ich sofort ;-)

>  Wenn ich mich als Einsteiger auf Interrupt-Prioritäten konzentrieren
> möchte, kann ich diese Prioritäten bei 8- bit oder 32 bit entsprechend
> vergeben.
Bei welchen 8-Bit uPs geht das den ? Ich kenne das nur von den 
32-Bittern.
Oder was meinst Du ?

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Und das ist (nicht nur für Anfänger) einfacher, wenn sie durch
> das Design und nicht durch den Programmierer festgelegt sind.
> Dann kann da eben auch nichts schiefgehen.
???
Ob ich das Vorgegebene lerne, oder es selbst vorgebe ist doch egal.
Wahlfreiheit ist etwas sehr schönes. ;-)

Andreas H. schrieb:
>> Und das hat immer noch nichts mit Bitt-Breite zu tun!!! (Gäghhnn)
> Nein, direkt mit der Bitbreite natürlich nicht, sondern mit der durch
> die Strukturverkleinerung gegebenen Möglichkeit, mehr Features zu
> integrieren.
> Bau mal einen Cortex auf der Technologie eines ATMEGA (90nm vs 0.8um ??
> Weiss es auch nicht genau).
Jetzt wird es noch spaßiger. Nicht mehr die Bit-Breite sondern der 
Fertigungsprozess ist für den Einstieg und Anfänger interessant???
Laß den Punsch stehen und schlaf dich richtig aus. ;-)

Andreas H. schrieb:
>> Ein MSP430 ist einfacher zu erlernen als ein AVR.
> Da muss ich Dir sogar mal recht geben. Nicht wegen dem lernen, sondern
> wegen dem benutzen.
Auch für Lernende ist der MSP430 zugänglicher als die AVRs. Mit dem 
Launchpad und den diversen Booster-Packs ist der Einstieg einfacher und 
günstiger als mit AVRs. Aber das weisst du ja. ;-)

von Lutz H. (luhe)


Lesenswert?

Im Beitrag:
http://www.mikrocontroller.net/articles/Interrupt

steht:
Etwas komplexere Mikrocontroller oder große Prozessoren bieten 
verschiedene Interruptlevel (Stufen) an.


Deshalb:
Ist mit den Interrupts das Problem, dass der Programmablauf auch von 
Ereignissen und nicht nur vom Code gesteuert wird.

von F. F. (foldi)


Lesenswert?

Future schrieb:
> F. Fo schrieb:
>> trotz der einfachen 8-bitter.
>
> Was ist denn an einem 16Bit µC schwieriger als am 8Bitter??? Ein MSP430
> ist einfacher zu erlernen als ein AVR.
>
> Wenn man nur das Eien kennt, sollte man nicht vergleichen!!!

Gut, der MSP430  ist auch gut geeignet.

von Leonard (Gast)


Lesenswert?

Ob der Fragesteller überhaupt alles lesen wird?
So viele schreiben sooo viel!
Wege nach Rom gibt es auch hier natürlich unzählige.
Mein bescheidener Vorschlag:

Einen Arduino Uno auf einem Breadboard bauen, und als Programmer einen 
fertigen Arduino Uno nehmen.

Gründe:
1.Es gibt viel Literatur darüber, im Netz und als Buch.
2.Viele User können Dir bei Problemen helfen.
3.Durch den fertigen Arduino hast Du immer eine Referenz.
4.Es ist nicht zu schwer und der Lerneffekt ist groß.
5.Wenn Du die Firmware selber compilierst lernst Du auch viel über die 
Software.

von Future (Gast)


Lesenswert?

Leonard schrieb:
> Ob der Fragesteller überhaupt alles lesen wird?
> So viele schreiben sooo viel!
> Wege nach Rom gibt es auch hier natürlich unzählige.

Da bist du nicht besser als die vielen anderen Schreiber. ;-)

Leonard schrieb:
> Mein bescheidener Vorschlag:
>
> Einen Arduino Uno auf einem Breadboard bauen, und als Programmer einen
> fertigen Arduino Uno nehmen.

Oder ein Launchpad. Da hast du alles in einem. ;-))) Und kostet nur 
einen Bruchteil. :-)))

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Jetzt wird es noch spaßiger. Nicht mehr die Bit-Breite sondern der
> Fertigungsprozess ist für den Einstieg und Anfänger interessant???
Oh man, noch mal ganz langsam, extra für Dich:

Das was man heute an Komplexität bei 32 Bit uPs hat ist (meist) alter 
Kram, der schon >20 Jahre gemacht wird. Halt nicht auf einem einzelnen 
Chip.
Schau Dir mal den Aufbau alter CPUs (z.B. VAX11-780 oder ähnliches) an. 
Da wird Dir viel bekannt vorkommen. Verteilt auf mehrere ICs.
PC User kannten das ja meist (in ganz einfacher Form) vom 8087, dem 
mathematischen Coprocessor des IBM-PCs.

Im Embeddedbereich war hier eine "natürliche" Grenze dadurch gesetzt, 
das die Kunden eben gerade nicht mehrere komplexe ICs auf der Platine 
miteinander verdrahten wollten.

Durch die damals fertigbaren Strukturbreiten war aber die Anzahl der
Gatter noch sehr beschränkt. Dementsprechend waren die Prozessoren auch 
sehr "übersichtlich" (aka einfach).

Dementsprechend konnte man sich auch mal schnell in einen Prozessor 
einarbeiten und hatte nach wenigen Tagen auch Fehlersituationen relativ 
gut im Griff.

Durch die verbesserte Fertigungstechnik konnte in den letzten Jahren 
aber die Strukturbreite immer weiter verkleinert werden. Dies 
ermöglichte es den Herstellern deutlich mehr Gatter, und damit 
Funktionalität, auf den Chip zu packen, was die Kunden natürlich gerne 
annahmen.

Diese Komplexität ist aber natürlich nicht mehr so einfach zu handhaben. 
Darum wird die SW Entwicklung auch zunehmend durch entsprechende LIBs 
vom Hersteller unterstützt.
Für "erfahrene" Entwickler ist das kein alzugrosses Problem. Die lernen 
Das als "Differenz" zu schon bestehendem Wissen. Die benutzen die LIBs 
auch selten als Blackbox, sondern schauen auch mal ins Datenblatt um zu 
gucken, was da gerade passiert.
Wenn es jetzt zu Problemen kommt sind sie auch durch ihre Erfahrung gut 
in der Lage, die Fehler zu finden.


Einsteiger haben aber jetzt plötzlich das Problem, dass alles von 
0-Vorwissen aus stemmen zu müssen. Und wenn das erste Mal nicht etwas so 
läuft wie erwartet, dann ist das Dilemma da.

Dann ist man nämlich schnell dabei auf Assemblerebene Fehler zu suchen, 
die durch das (falsch rpgrammierte) Zusammenspiel von Peripherie und 
Core zustandekommen (denk an mein IRQ-Prio Beispiel von oben).
Und das alles ohne wenigstens etwas Erfahrung mit "überschaubaren" 
Prozessoren gesammelt zu haben.

Solange man natürlich nur "Hello world" auf dem TFT des Kits ausgibt, 
wird dieser Fall eher selten auftreten^^


Und darum halte ich 32-Bit für Anfänger für ungünstig. Nun begriffen ?


> Laß den Punsch stehen und schlaf dich richtig aus. ;-)
Da ich keinen Alkohol trinke, stellt sich das Problem nicht. Aber eine 
Runde schlafen ist eine gute Idee. Die Sim ist auch durch :-)

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Und darum halte ich 32-Bit für Anfänger für ungünstig. Nun begriffen ?

Nein! Weil unbegründet und einfach nur behauptet.

Nach deiner Argumentation müssten alle den Führerschein auf so einem 
Auto machen:
http://www.deutsches-museum.de/typo3temp/pics/79179e0e95.jpg
;-)))

von Andreas H. (ahz)


Lesenswert?

lutz h. schrieb:
> Im Beitrag:
> http://www.mikrocontroller.net/articles/Interrupt
>
> steht:
> Etwas komplexere Mikrocontroller oder große Prozessoren bieten
> verschiedene Interruptlevel (Stufen) an.
Das kann sogar schon ein AT90 (ob man den allerdings als "complex" 
bezeichnen will ?). Mal aus dem Datenblatt von einem AT90USB162 (rein 
willkürlich, lag hier noch rum):

"The complete list of vectors is shown in “Interrupts” on page 63. The 
list also determines the priority levels of the different interrupts."

Interessant wirds, wenn Du diese Interruptlevel selber priorisieren 
kannst.

>
> Deshalb:
> Ist mit den Interrupts das Problem, dass der Programmablauf auch von
> Ereignissen und nicht nur vom Code gesteuert wird.
In vielen Fallen ist das sogar der Zweck der Übung.
Beispiel: Der Controller "reagiert" auf Änderungen der Umgebung (z.B. 
Spannungsänderung) und regelt sie nach (z.B. Änderung des Puls/Pause 
Verhältnisses der PWM, die die Spannung erzeugt), während er parallel 
die Daten über USB an den PC liefert (ok, fiktives Beispiel).

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Nach deiner Argumentation müssten alle den Führerschein auf so einem
> Auto machen:
> http://www.deutsches-museum.de/typo3temp/pics/79179e0e95.jpg
> ;-)))

Gutes Beispiel. Aber:

Und wenn Du mal in Unfallstatistiken schauen würdest, würd Dir sicher 
auffallen, dass ein großer Anteil der Unfallverursacher Fahranfänger 
sind^^


Es gibt aber auch kritischere Gebiete als Autos.
Wieviel Flugstunden/Landungen must Du mit PPL nachweisen, bevor Du 
Personen mitnehmen darfst ?


Gute Nacht :-)
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Gutes Beispiel. Aber:
>
> Und wenn Du mal in Unfallstatistiken schauen würdest, würd Dir sicher
> auffallen, dass ein großer Anteil der Unfallverursacher Fahranfänger
> sind^^

Wo besteht denn jetzt hier der Zusammenhang???
Liegt die Unfallhäufigkeit an dem Fahrschulfahrzeug???

Andreas H. schrieb:
> Wieviel Flugstunden/Landungen must Du mit PPL nachweisen, bevor Du
> Personen mitnehmen darfst ?

Mit welchem Gefährt lernt man heute? Mit so einem?
http://thumbs.dreamstime.com/z/altes-flugzeug-159492.jpg

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Andreas H. schrieb:
>> Gutes Beispiel. Aber:
>>
>> Und wenn Du mal in Unfallstatistiken schauen würdest, würd Dir sicher
>> auffallen, dass ein großer Anteil der Unfallverursacher Fahranfänger
>> sind^^
>
> Wo besteht denn jetzt hier der Zusammenhang???
> Liegt die Unfallhäufigkeit an dem Fahrschulfahrzeug???
Nein. Anscheinend an der fehlenden Routine der Fahranfänger.

>
> Andreas H. schrieb:
>> Wieviel Flugstunden/Landungen must Du mit PPL nachweisen, bevor Du
>> Personen mitnehmen darfst ?
>
> Mit welchem Gefährt lernt man heute? Mit so einem?
> http://thumbs.dreamstime.com/z/altes-flugzeug-159492.jpg
Du musst Flugstunden/Landungen (also Flugerfahrung) nachweisen. Darum 
geht es^^
Und PPL macht man auf einmotorigen Maschinen. Obwohl, wenn es nach Dir 
ginge, dann ware sicher auch eine F/A-18 möglich (omg).

Gute Nacht
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Nein. Anscheinend an der fehlenden Routine der Fahranfänger.

Ok, wenn es nicht am Golf oder 5er BMW liegt sind wir uns einig:
32Bit sind genauso gut für Anfänger geeignet wie ein 8Bitter.

Andreas H. schrieb:
> Du musst Flugstunden/Landungen (also Flugerfahrung) nachweisen. Darum
> geht es^^
Genau, egal ob Auto, Flugzeug oder µC. Heute lernt man auf aktueller 
Technik. Und das darf der Derby (AVR), der Golf (MSP430) oder auch der 
Phäton (ARM) sein. ;-)))

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Genau, egal ob Auto, Flugzeug oder µC. Heute lernt man auf aktueller
> Technik.

Du begreifst es nicht. Man wählt den uP nach der zu lösenden Aufgabe 
aus.
Und die sind bei Anfängern im allgemeinen "Anfängergerecht".
Der Anfänger weiss ja u.U noch garnicht, welche Teile des Prozessors 
erst mal für ihn, bei einer gegebenen Aufgae, relevant sind.

Und schicke LIBs bei den Kits sind toll. Aber erst wenn man weiss, was 
sie bewirken. Sonst fängt man jedes mal wieder bei 0 an.
Simples Beispiel: Du machst auf einem 8-Bit AVR einen Pin zum Ausgang, 
indem Du eine 0 in das DDRx Register schreibst. Beim PIC must Du dazu 
eine 1 in das TRIS Register schreiben.
Da siehst Du als Anfänger aber die Register noch. Beim Arduino wird das 
AFAIK schon durch die LIBs gekapselt. Wo ist da der Lerneffekt ? Wieviel 
Overhead produziert die LIB an dieser Stelle ? Wo hast Du also noch 
Potential, um im Zweifelsfall noch etwas Leistung rauszukitzeln ?
(Wir sind uns sicher einig das Festplatten immer zu klein und 
Prozessoren immer zu langsam sind. Bei letzteren wahlweise auch zu wenig 
RAM/FLASH/EE.)


Versteh mich nicht falsch. Ich halte SW Unterstützung für extrem 
nützlich. Aber nur wenn man weiss, was da passiert. Aber genau DAS fehlt 
den Anfängern dann.

Wir reden hier ja nicht davon eine konkrete Aufgabe zu lösen. Der TO 
will sich ja allgemein in die Embedded Programmierung einarbeiten. Und 
da sollte er dann schon mal ein Gefühl für die Hardware bekommen.

Bei Deinem Autovergleich lernt ja auch kein Fahranfänger Rallys zu 
fahren. Sondern nur sicher von A nach B zu kommen.

Solange er nicht weiss, wofür er da die drei Pedale hat, muss man ihn 
nicht dadurch verunsichern, dass man ihm zeigt, wie man auf dem 
Nürburgring Kurven bei 290Km/h anfährt. Das macht er im schlimmsten Fall 
nämlich mal nach.

Grüße
Andreas

von basics (Gast)


Lesenswert?

Stefan Tully schrieb:
> Hallo zusammen,
> ich bin absoluter Neueinsteiger in die Welt der Elektronik und
> Mikrocontroller Programmierung. Ein bisschen Programmierung habe ich in

Auch einen Führerschein darf man in der Regel erst ab 18 machen. Warum 
wohl? Weil man bis dahin schon Verkehrsteilnehmer war und eine gewisse 
Lebenserfahrung gesammelt hat. Man braucht dann nur noch ein paar 
Bedienelemente am Auto in der richtigen Reihenfolge zu betätigen und 
einige Regeln zu beachten. Aber wehe, wenn so ein Ding nicht mehr tut.

Mir würde es bei einem Fahrrad leichter fallen den Fehler zu finden bzw. 
das Ding wieder zum Laufen zu bringen bevor man die Werkstatt aufsucht.

Eine Entscheidungshilfe zur Wahl eines µC für einen Anfänger könnte die 
Seitenanzahl des zugehörigen Datenblattes sein. Je weniger Seiten, desto 
schneller könnte man sich zurechtfinden.

Vorher sollte man aber schon Bergriffe wie Strom und Spannung richtig 
gebrauchen lernen und wissen warum Widerstand nicht mit ie geschrieben 
wird.

von Andreas H. (ahz)


Lesenswert?

basics schrieb:
> Eine Entscheidungshilfe zur Wahl eines µC für einen Anfänger könnte die
> Seitenanzahl des zugehörigen Datenblattes sein. Je weniger Seiten, desto
> schneller könnte man sich zurechtfinden.

Würde ich so nicht unterschreiben. Es gibt durchaus bracubare 
Datenblätter die locker einige hundert Seiten umfassen.

Ansonsten triffts Dein Vergleich Fahrrad vs. Auto schon ziemlich gut :-)

Grüße
Andreas

von Antimedial (Gast)


Lesenswert?

Andreas H. schrieb:
> Simples Beispiel: Du machst auf einem 8-Bit AVR einen Pin zum Ausgang,
> indem Du eine 0 in das DDRx Register schreibst. Beim PIC must Du dazu
> eine 1 in das TRIS Register schreiben.

Beim STM32 musst du halt noch den Clock für die Peripherie einschalten, 
das war's.

Ich habe bisher immer "Bare-Metal" gearbeitet, der Code ist im Endeffekt 
nicht viel länger als bei einem AVR.

Das Problem ist eher die Beschreibung, weil man erst einmal durchblicken 
muss, was man nicht braucht. Vielleicht fehlt es einfach nur an einem 
vernünftigen "Bare-Metal" Tutorial für STM32. Oder gibt es das evtl. 
sogar schon?

Alternativ wäre immer noch der SAMD20 einen Blick wert, die Peripherie 
sieht nicht sehr komplex aus.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Antimedial schrieb:
>
> Alternativ wäre immer noch der SAMD20 einen Blick wert, die Peripherie
> sieht nicht sehr komplex aus.

Sonder Spezialtypen empfehlen???
Da wird er wohl nie viel Hilfe hier erhalten.

von Antimedial (Gast)


Lesenswert?

Markus Müller schrieb:
> Sonder Spezialtypen empfehlen???
> Da wird er wohl nie viel Hilfe hier erhalten.

Was ist daran ein "Sonderspezialtyp"? Das Ding ist noch relativ neu, 
wird aber wahrscheinlich den 8-Bit AVR bei Atmel über kurz oder lang 
ersetzen.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich habe von dem noch nie was hier im Forum gelesen. Somit sollte der 
Anfänger den nicht nehmen. Besser AVR oder STM32, er muss sich nun 
selbst für einen entscheidenden.

von Antimedial (Gast)


Lesenswert?

Erst einmal halte ich es sowieso für Unsinn, nur genau eine Plattform zu 
wählen und so zu tun, als würde man dann für immer dort bleiben. Es ist 
viel besser, sich schon ein paar verschiedene anzuschauen, um auch mal 
ein Gefühl für die Unterschiede zu bekommen.

Es schadet überhaupt nichts, sich mal das Datenblatt eines D20 
herzunehmen und mit einem AVR zu vergleichen. Das kann man auch als 
Anfänger mal tun, wenn man sich mal ein paar Tage mit µC beschäftigt hat 
und vielleicht das ein oder andere Beispiel mal ausprobiert hat.

Und dass du in dem Forum so etwas nicht liest ist nicht verwunderlich, 
vermutlich hat sich der D20 bei Hobbybastlern noch nicht so sehr 
herumgesprochen.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Das Datenblatt laden reicht nicht. Man muss auch suchen wo man den 
kaufen kann! Wenn es den nur schwer zu kaufen gibt, dann lieber gleich 
vergessen.

von Antimedial (Gast)


Lesenswert?

Doch, es reicht schon einmal, das Datenblatt anzuschauen um 
festzustellen "Ach ja, der ist dem AVR doch recht ähnlich". Oder auch 
nicht. Dann kann man immer noch schauen, wo man ein Entwicklungskit 
bekommt und dabei feststellen, dass man den durchaus bekommen kann.

von basics (Gast)


Lesenswert?

Antimedial schrieb:
> Doch, es reicht schon einmal, das Datenblatt anzuschauen um
> festzustellen "Ach ja, der ist dem AVR doch recht ähnlich". Oder auch
> nicht. Dann kann man immer noch schauen, wo man ein Entwicklungskit
> bekommt und dabei feststellen, dass man den durchaus bekommen kann.

Genau das dürfte des "absoluter Neueinsteiger" höchstes Intresse sein. 
Wie Bits in welchen Registern setzen und warum überhaupt wird dann im 
Forum diskutiert. Bin mal gespannt, wie dann die Antworten auf solche 
Fragen ausfallen. Da dürfen dann die Moderatoren wieder ran mit 
Antworten löschen bzw sachgerechte Antworten geben.

Weis denn hier kaum noch jemand, wie er mit welchen Voraussetzungen 
angefangen hat?

Upgraden kann man ja immer noch und einem Hobbybastler fällt das ja 
leicht, wenn es nicht um Stückzahlen geht.

von d&g (Gast)


Lesenswert?

Meine Meinung:
Steig mit einem Arduino System ein. Das ist sehr sehr übersichtlich. Du 
hast schnelle Erfolge und bekommst viel Hilfe.

Später kannst Du dann zu nem STM32 umsteigen. Die Peripherie ist wie 
schon beschrieben etwas komplexer und es sieht ein bisschen 
unübersichtlicher aus. Mehr aber auch nicht.

STM32 hat aber auch einen großen Vorteil gegenüber Arduino und AVR:
Du bekommst mit dem ST32Discovery bereits für 20Euro ein gutes System 
mit Debugger! Wenn also etwas nicht so läuft, wie es Du Dir vorgstellt 
hast, kannst Du bis zu einer bestimmten Stelle laufen und Dir die 
Inhalte aller Variablen ansehen. Das hilft vielmals.

von Antimedial (Gast)


Lesenswert?

Im für Einsteiger doch recht brauchbaren AVR-GCC-Tutorial arbeitet man 
doch auf Registerebene. Ich sehe da kein Problem, wenn ein bisschen 
technisches Verständnis und Vorkenntnisse in Binarzählen, Programmieren 
und so weiter vorhanden sind.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Kann man bei einem Arduino nicht debuggen?

von Ralph (Gast)


Lesenswert?

d&g schrieb:
> Meine Meinung:
> Steig mit einem Arduino System ein. Das ist sehr sehr übersichtlich. Du
> hast schnelle Erfolge und bekommst viel Hilfe.
>
> Später kannst Du dann zu nem STM32 umsteigen. Die Peripherie ist wie
> schon beschrieben etwas komplexer und es sieht ein bisschen
> unübersichtlicher aus. Mehr aber auch nicht.
>
> STM32 hat aber auch einen großen Vorteil gegenüber Arduino und AVR:
> Du bekommst mit dem ST32Discovery bereits für 20Euro ein gutes System
> mit Debugger! Wenn also etwas nicht so läuft, wie es Du Dir vorgstellt
> hast, kannst Du bis zu einer bestimmten Stelle laufen und Dir die
> Inhalte aller Variablen ansehen. Das hilft vielmals

Und warum dann nicht direkt mit einem Cortex einsteigen ?
Arduino macht gar keinen Sinn mehr . Wenn das Teil überhaupt jemals Sinn 
gemacht hat.

Und ja ein Cortex hat mehr Peripherie Module. Aber was soll es, man muss 
nur die Einschalten die man für die jeweilige Anwendung brauch, der Rest 
ist nur vorhanden, muss nicht konfiguriert werden und stört nicht.

von d&g (Gast)


Lesenswert?

>Und warum dann nicht direkt mit einem Cortex einsteigen ?
Weil ich schon 3 Schülerprojekte (10. Klasse hatte).
Denne hab ich einen Arduino hingelegt, gezeigt wie man ne LED ansteuert, 
die Arduino Webseite gezeigt und sie haben dann innerhalb den nächsten 
paar Tagen fast selbständig jedesmal tolle Projekte hinbekommen. Bin 
überascht, wie gut und ohne viel Hilfe die damit klar kamen.

Ich selbst arbeite mit STM32. Würde mich als "erfahren" einschätzen, 
habe aber schon viel Blut geschwitzte, um das unter Linux zum Laufen zu 
bekommen.
Klar CooCox unter Windows geht einfach.

von d&g (Gast)


Lesenswert?

>Kann man bei einem Arduino nicht debuggen?
Glab nicht, oder ? Gut - hat ne einfache serielle Schnittstelle, die oft 
hilft.

von d&g (Gast)


Lesenswert?

>Und warum dann nicht direkt mit einem Cortex einsteigen ?
Oder um es so zu sagen: Wenn Jemand einem Anfänger eine STM32 Umgebung 
einrichtet und die ersten Schritte zeigt geht es auch.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

d&g schrieb:
>>Kann man bei einem Arduino nicht debuggen?
> Glab nicht, oder ? Gut - hat ne einfache serielle Schnittstelle, die oft
> hilft.

Dann werde ich wohl NIE NIE NIE wieder einem Anfänger einen Arduino 
empfehlen.

Einen AVR kann ich nur empfehlen, wenn man sich auch gleich dazu einen 
Debugger kauft, damit man durch den Prozessor durch steppen kann und 
sieht wie der rechnet. Allerdings ist der kleine AVR etwas begrenzt was 
die Breakpoints angeht.

Ein STM32 (alle mit Cotex-Mx Core) haben 6 Breakpoints und damit lässt 
sich schon ganz gut debuggen.

Ich hatte zu Anfang (vor 20 Jahren) nur einen Programmer (EPROM) und ich 
weiß wie schwer es das war. Nur mit Debugger kann man die 
Prozessor-Register und die Register der Pheriperie lesen (beim AVR und 
STM32 gleichermaßen).

von Antimedial (Gast)


Lesenswert?

d&g schrieb:
> Glab nicht, oder ? Gut - hat ne einfache serielle Schnittstelle, die oft
> hilft.

Mit der seriellen Schnittstelle zu debuggen ist wie mit einem 
Küchenmesser eine Hirn-OP durchführen zu wollen.

Nein, ernsthaft, die serielle Schnittstelle kann man sehr gut als Hilfe 
zum Tracen verwenden, aber das echte Debugging ist trotzdem nicht 
ersetzbar.

von Seano L. (Gast)


Lesenswert?

Andreas H. schrieb:
> Nachteilig empfinde ich bei den 32-Bit CPUs, dass sie extreme viel
> (sinnvolle) Features haben, die einen Anfänger extreme verwirren können.
Wasn das für ein immer wieder angebrachtes Nullargument? Man nutzt nur 
die Features die man braucht, dann verwirren die mich auch nicht. 
Deshalb kann man auch gleich mit einem 32-Biter anfangen.

von Seano L. (Gast)


Lesenswert?

Antimedial schrieb:
> Mit der seriellen Schnittstelle zu debuggen ist wie mit einem
> Küchenmesser eine Hirn-OP durchführen zu wollen.
Für einen Arduino reicht das. Entsprechende Textmeldungen ausgeben 
fertig, das ist nix anderes als Breakpoints, nur dass du halt aufs 
Konsolenfenster schauen musst.
Einen Debugger in Hardware für MCs habe ich bis heute nie gebraucht, 
egal welchen Prozessor ich verwendet habe. Bei Software die auf PCs 
laufen soll brauche ich den Debugger in einer IDE auch selten, ich denke 
lieber erst mal nach dann komme ich meistens ohne Debugger darauf. Wenn 
ich Kollegen mit dem Debugger rumhantieren sehe hat das immer was von 
Trial&Error-Methodik.

von Antimedial (Gast)


Lesenswert?

Schwen Gel schrieb:
> Wasn das für ein immer wieder angebrachtes Nullargument? Man nutzt nur
> die Features die man braucht, dann verwirren die mich auch nicht.
> Deshalb kann man auch gleich mit einem 32-Biter anfangen.

Leider verwirren sie doch, wenn die Beschreibung nicht ausreichend 
kapselt. Man muss sich teilweise schon durch zig Seiten wühlen und dann 
erst einmal wissen, was man braucht und was nicht. Beim STM32 ist das 
z.B. bei der PWM der Fall. Wenn sie mal funktioniert ist es dann aber 
nicht schwerer als beim AVR.

Deshalb fände ich ein gutes Tutorial, das gleich die nötige Kapselung 
erledigt, sehr hilfreich.

Schwen Gel schrieb:
> Für einen Arduino reicht das. Entsprechende Textmeldungen ausgeben
> fertig, das ist nix anderes als Breakpoints, nur dass du halt aufs
> Konsolenfenster schauen musst.


Ein Breakpoint ist viel mächtiger als eine simple Textmeldung.

Schwen Gel schrieb:
> Einen Debugger in Hardware für MCs habe ich bis heute nie gebraucht,
> egal welchen Prozessor ich verwendet habe.

Ja, das ist ein typisches Argument "was der Bauer nicht kennt, frisst er 
nicht". Wenn du mal die Vorteile des Debuggens kennengelernt hast, wirst 
du plötzlich merken, wie ineffektiv du die ganze Zeit gearbeitet hast.

Schwen Gel schrieb:
> Wenn
> ich Kollegen mit dem Debugger rumhantieren sehe hat das immer was von
> Trial&Error-Methodik.

Ich bin großer Fan von Trial&Error-Vorgehen (zumindest ab einer gewissen 
Ebene), weil es viel effektiver ist als ewiges Stöchern im Dunkeln.

von Stefan (Gast)


Lesenswert?

> Ein Breakpoint ist viel mächtiger als eine simple Textmeldung.

Manchmal. Ich kann mit einem printf() meist mehr anfangen.

> Schwen Gel schrieb:
>> Einen Debugger in Hardware für MCs habe ich bis heute nie gebraucht,
>> egal welchen Prozessor ich verwendet habe.
>
> Ja, das ist ein typisches Argument "was der Bauer nicht kennt, frisst er
> nicht". Wenn du mal die Vorteile des Debuggens kennengelernt hast, wirst
> du plötzlich merken, wie ineffektiv du die ganze Zeit gearbeitet hast.

Ich habe hier seit 2010 einen J-Link und drei oder vier Discovery Boards 
und nutze die Dinger praktisch nur zum Flashen. Dabei müsste ich unter 
Crossworks nur die F10 Taste drücken um den Debugger zu starten.
Ich brauche keinen Debugger um meinen Code zu lesen und zu verstehen. 
Debug Sessions haben mich auch schon eine Menge Zeit gekostet.

Für AVR habe ich sowohl einen AVRispMkII als auch einen Dragon. Jetzt 
rate was ich benutze.

Jeder hat seine eigne Arbeitsweise. Manchmal ist etwas besser oder 
schlechter. Oft aber einfach nur anders.

von Andreas H. (ahz)


Lesenswert?

Antimedial schrieb:
> Das Ding ist noch relativ neu,
> wird aber wahrscheinlich den 8-Bit AVR bei Atmel über kurz oder lang
> ersetzen.

Kann ich mir kaum vorstellen.

Ein gewisser Charme der AVRs liegt ja auch im Package. Die gibts schon 
mit acht Pins (PICs auch). Da kannst Du schnell mal einen "Bugfix", bzw. 
eine Erweiterung, auf ein Board basteln.

Den SAMD20 gibt minimal mit 32 Pins im TQFP Gehäuse.

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

Schwen Gel schrieb:
> Wasn das für ein immer wieder angebrachtes Nullargument? Man nutzt nur
> die Features die man braucht, dann verwirren die mich auch nicht.
> Deshalb kann man auch gleich mit einem 32-Biter anfangen.

Es haben schon haufenweise Leute gezeigt, dass sie sich schon auf 8-Bit 
uPs prima aufrauchen konnten (denk mal an das bekannte AVR Fuse 
Problem).

Die Probleme fangen ja immer dann an, wenn der uP etwas anderes macht, 
als Du erwartet hattest. Und wie bist Du Dir jetzt sicher, wo der Fehler 
nicht liegt ?

Und da man ja evtl. auch mal die Hardware auf einem eigenen Board 
einsetzen will, ist hier auch für die Anfänger ein DIL Gehäuse etwas 
praktischer.

Antimedial schrieb:
> Deshalb fände ich ein gutes Tutorial, das gleich die nötige Kapselung
> erledigt, sehr hilfreich.
Wird dann aber sehr umfangreich, da jeder Hersteller eigene Peripherie 
an den Core ranbastelt.
Da ist der Einstieg beim AVR etwas einfacher :-D

Grüße
Andreas

von Antimedial (Gast)


Lesenswert?

Stefan schrieb:
> Manchmal. Ich kann mit einem printf() meist mehr anfangen.

Dann hast du wohl noch nicht begriffen, was man mit einem Debugger so 
alles anstellen kann.

Du hast auf jeden Fall sehr viel Spaß, wenn du dir den kompletten 
Registersatz einer Peripherie mit einem simplen printf rausholen willst.

Stefan schrieb:
> Jeder hat seine eigne Arbeitsweise. Manchmal ist etwas besser oder
> schlechter. Oft aber einfach nur anders.

Manche Leute können mit ihren Werkzeugen auch einfach nicht umgehen.

Wer die Vorteile des Debuggers nicht nutzen kann, arbeitet ineffektiv.

Andreas H. schrieb:
> Ein gewisser Charme der AVRs liegt ja auch im Package. Die gibts schon
> mit acht Pins (PICs auch). Da kannst Du schnell mal einen "Bugfix", bzw.
> eine Erweiterung, auf ein Board basteln.

Siehe LPC800, es geht also schon. Und Atmel wird nachziehen, wenn Bedarf 
besteht. Den SAMD20 gibt es erst seit ein paar Monaten, und dafür ist 
das Portfolio schon sehr umfangreich.

Andreas H. schrieb:
> Wird dann aber sehr umfangreich, da jeder Hersteller eigene Peripherie
> an den Core ranbastelt.
> Da ist der Einstieg beim AVR etwas einfacher :-D

Was ist das für ein Argument? Das AVR-Tutorial hat doch auch nicht den 
Anspruch, gleichzeitig 8051er und PIC zu erschlagen.

von Andreas H. (ahz)


Lesenswert?

Schwen Gel schrieb:
> Entsprechende Textmeldungen ausgeben
> fertig, das ist nix anderes als Breakpoints, nur dass du halt aufs
> Konsolenfenster schauen musst.

Du verlierst den Kontext des Programms. Beim BP bleibt der Prozessor an 
der Stelle stehen und Du kannst Dir die Variablen anschauen. Bei 
Fehlern, die alle 1E8 cycles mal sporadisch auftauchen schon ganz 
praktisch.

Bei Textausgabe via UART veränderst Du ausserdem noch das Timing der 
Programmausfürhung.

> Einen Debugger in Hardware für MCs habe ich bis heute nie gebraucht,
> egal welchen Prozessor ich verwendet habe.

 <irony>
 Naja, "Hello world\n" kriegt man auch so hin.
 </irony>

Im Ernst: Solange es geht, nehme ich auch Textausgabe über eine UART ... 
falls noch eine frei ist (meist nicht).

Grüße
Andreas

von Blende22 (Gast)


Lesenswert?

Entschuldigt, liebe Leute, aber ich habe so das Gefühl, dass der arme 
Stefan auf Grund Eurer hitzigen Diskussionen jetzt noch unschlüssiger 
sein könnte. ;-)

Meine Meinung ist die, dass für einen Anfänger so ein Entwicklungsboard 
von Pollin ausreicht. Und am besten das AddOn-Board gleich dazukaufen. 
Kostet nicht die Welt und man hat die Wahl unter etlichen AVRs, vom 
kleinen Attiny13 bis zum Atmega32. Und alles im DIL-Package. Für den 
Atmega32 würde ich einen Nullkraft-Sockel empfehlen.
Tja, und ein "mySmartUSB light"- Programmiergerät kann sich wohl jeder 
leisten und es ist bestimmt nicht schlecht.

Programmiersprache? Ich finde, dass man mit C mit und ohne ++ auf jeden 
Fall am meisten lernt, von Assembler abgesehen. Warum? Weil man das 
Innenleben der Controller damit am besten kennenlernt.

Die "Kasteneinteilung" unseres Meister-Schimpfers halte ich aber nicht 
für gerecht. Ich finde das intolerant.

BASCOM ist nicht so schlecht, wie es hier immer dargestellt wird und 
Arduino ist doch für Einsteiger auch eine feine Sache. Bei beiden steht 
man halt irgendwann mal an und das ist schon bei der Timer- und 
Interrupt-Programmierung der Fall.

Und die Realisierung seines Projektes kann ganz prima mit dem sehr 
günstigen Sprint Layout-Programm erfolgen:
http://www.abacom-online.de/html/sprint-layout.html

Ich persönlich brauche für meine privaten Zwecke keine Multilayer über 
EAGLE. (Obwohl das Programm sakrisch gut ist)

von Stefan (Gast)


Lesenswert?

Antimedial schrieb:
>> Manchmal. Ich kann mit einem printf() meist mehr anfangen.
>
> Dann hast du wohl noch nicht begriffen, was man mit einem Debugger so
> alles anstellen kann.

Nichts gegen Kritik, doch ich glaube kaum dass du nach ein paar Sätzen 
beurteilen kannst was ich begriffen habe und was nicht.
Ich habe früher bei PC Programmen viel mit Debuggern gearbeitet. Mache 
ich heute auch nicht mehr.
Wenn du einen Debugger brauchst um effektiv zu arbeiten dann benutze ihn 
doch. Dafür sind sie da. Doch unterstelle bitte Anderen keine 
Ineffizienz wenn sie anders arbeiten/denken.

> Du hast auf jeden Fall sehr viel Spaß, wenn du dir den kompletten
> Registersatz einer Peripherie mit einem simplen printf rausholen willst.

Nur gut dass mich das auch gar nicht interesssiert. Was soll da 
drinstehen?
Ich wüßte jetzt jedenfalls nicht dass ich in den vergangen Jahren 
Probleme gehabt hätte bei denen ich auf Registerebene runter musste.

von Antimedial (Gast)


Lesenswert?

Stefan schrieb:
> Nichts gegen Kritik, doch ich glaube kaum dass du nach ein paar Sätzen
> beurteilen kannst was ich begriffen habe und was nicht.
> Ich habe früher bei PC Programmen viel mit Debuggern gearbeitet. Mache
> ich heute auch nicht mehr.
> Wenn du einen Debugger brauchst um effektiv zu arbeiten dann benutze ihn
> doch. Dafür sind sie da. Doch unterstelle bitte Anderen keine
> Ineffizienz wenn sie anders arbeiten/denken.

Sagen wir es mal so, ich habe solche Argumentationen schon so oft 
gehört, das sich weiß, worauf es hinaus läuft.

Stefan schrieb:
> Nur gut dass mich das auch gar nicht interesssiert. Was soll da
> drinstehen?
> Ich wüßte jetzt jedenfalls nicht dass ich in den vergangen Jahren
> Probleme gehabt hätte bei denen ich auf Registerebene runter musste.

Gut, du arbeitest vielleicht auf einer anderen Ebene. Mit dem 
Arduinokram muss man das vielleicht nicht machen. Das wäre mir aber zu 
ineffizient.

von Blende22 (Gast)


Lesenswert?

Ihr schweift immer mehr von der eigentlichen Fragestellung ab! ;-)
Da will jemand in die µC-Programmierung einsteigen, und ihr kommt mit 32 
Bit daher! ;-) Für einen Anfänger! Findet ihr nicht, dass das etwas 
übertrieben ist?

von Lutz H. (luhe)


Lesenswert?

Zum Beispiel finde ich " Bit-band mapping" beim 32 bit Mikrokontroler 
interessant. Der Preis des Disco Boards günstig. Hochwertiges USB Kabel 
dazu.
 Warum mit 8 Bit anfangen?

von kopfkratzer (Gast)


Lesenswert?

Blende22 schrieb:
> Ihr schweift immer mehr von der eigentlichen Fragestellung ab! ;-)
> Da will jemand in die µC-Programmierung einsteigen, und ihr kommt mit 32
> Bit daher! ;-) Für einen Anfänger! Findet ihr nicht, dass das etwas
> übertrieben ist?

Wurde oben schon genannt, es ist egal welcher Hersteller und wenn's 
512bit sind sind's halt 512bit.
Es kommt darauf an was er machen will und für einfache Basteleien 
reichen 8bit i.d.R. mehr als aus.
Wenn er dann mal DDS in HiFi machen will muß er halt auf größere 
"Geschütze" umstellen oder einfach einen DDS Chip an den 8bitter hängen 
:-P
Diese gesamte sinnlose Diskussion wird ja schon durch die Bewertungen 
als eben das gekennzeichnet.
Da ich allerdings Aversionen gegen Excel-Tabellen habe weiß ich ja nicht 
was er sich so zulegen will, gehe aber mal davon aus das er damit LEDs 
blinken lassen kann und Nachbars Fernseher halt mal aus ist wenn zu laut 
:-P
Wir werden ja sehen ob hier vom TO Fragen über AVR auftauchen oder MIPS 
;-)

von Andreas H. (ahz)


Lesenswert?

Blende22 schrieb:
> Ihr schweift immer mehr von der eigentlichen Fragestellung ab! ;-)

Du hast völlig recht. Ein kurzer OT Kommentar sei mir aber bitte noch 
gestattet:

<offtopic>

Stefan schrieb:
> Ich habe früher bei PC Programmen viel mit Debuggern gearbeitet. Mache
> ich heute auch nicht mehr.

Ich gebe zu, das ich mich auch gerne um den Debugger "drücke". Aber 
einen entscheidenden Vorteil hat das Ding ja schon:

Wenn Du bei Embedded CPUs Hardware (!) Breakpoints hast, dann 
beeinflussen die die normale Programmausführung nicht (SW Breakpoints 
verzweigen ja in eine SW Debugroutine). Der Debugger arbeitet dann 
(meist via JTAG o.ä.) "ausserhalb der CPU cycles".
Damit kann man dann auch das Environment betrachten, was bei einem 
Softwaredebugger schon allein durch das notwendige sichern der Register 
zerstört werden kann.

</offtopic>

Grüße
Andreas

von Seano L. (Gast)


Lesenswert?

Antimedial schrieb:
> Ich bin großer Fan von Trial&Error-Vorgehen (zumindest ab einer gewissen
> Ebene), weil es viel effektiver ist als ewiges Stöchern im Dunkeln.

T&E IST stochern im Dunkeln par excellence!

von Antimedial (Gast)


Lesenswert?

Schwen Gel schrieb:
> T&E IST stochern im Dunkeln par excellence!

Nein, eben nicht! Es ist genau genommen die Grundlage der agilen 
Entwicklung. Schnell kleine Änderungen durchführen und deren 
Auswirkungen beobachten. Bei einem "Irrtum" (nicht Fehler!) geht man 
wieder einen Schritt zurück oder geht nochmal einen Schritt weiter.

Das ganze Vorgehen ist viel systematischer als diese üble 
"Top-Down"-Entwicklung, in der man monatelange erst einmal eine 
Architektur definiert, die man in der Praxis nie umsetzen kann und man 
dann in ewig langen Releasezyklen mit enormem Testaufwand das ganze 
komplexe Gebilde (meist vergeblich) versucht in Griff zu bekommen.

Bei den meisten zurückgebliebenen Entwicklern sind Ideen aus der agilen 
Entwicklung natürlich reinste Ketzerei, aber denen ist halt nicht mehr 
zu helfen.

Blende22 schrieb:
> Da will jemand in die µC-Programmierung einsteigen, und ihr kommt mit 32
> Bit daher! ;-) Für einen Anfänger! Findet ihr nicht, dass das etwas
> übertrieben ist?

Nein, wieso sollte es denn übertrieben sein? 32 Bit sind viel einfacher 
zu handhaben.

von Andreas H. (ahz)


Lesenswert?

Antimedial schrieb:
> 32 Bit sind viel einfacher zu handhaben.

Genau. Praktisches Beispiel hier:

Beitrag "Bytevergleich STM32 erfolglos"

<offtopic>
lol
</offtopic>

Sorry, der musste jetzt sein ;-)

Grüße
Andreas

von Stefan (Gast)


Lesenswert?

Antimedial schrieb:
> Das ganze Vorgehen ist viel systematischer als diese üble
> "Top-Down"-Entwicklung, in der man monatelange erst einmal eine
> Architektur definiert, die man in der Praxis nie umsetzen kann und man
> dann in ewig langen Releasezyklen mit enormem Testaufwand das ganze
> komplexe Gebilde (meist vergeblich) versucht in Griff zu bekommen.
>
> Bei den meisten zurückgebliebenen Entwicklern sind Ideen aus der agilen
> Entwicklung natürlich reinste Ketzerei, aber denen ist halt nicht mehr
> zu helfen.

Ist dir irgendwie langweilig? Nein? Dann begründe diese Vorwürfe bitte!

von greg (Gast)


Lesenswert?

Mein kurzes Statement:

Besser mit einem 8/16-Bitter anfangen, da ist alles etwas einfacher, 
eingeschränkter und simpler. Das ist für den Anfang keine schlechte 
Sache, im Gegenteil. Welcher MCU es nun ist, das ist im Endeffekt 
eigentlich egal, aber verbreitete MCU-Reihen (AVR, PIC, MCS-51) sind 
natürlich von Vorteil. Guter Tool-Support ist ebenfalls wichtig, das 
sollte man nicht unterschätzen.

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Du begreifst es nicht.

Da wäre ich mir aber nicht so sicher. Du schreibst 8 Bit hast aber ganz 
konkret AVR im Kopf. Du schreibst 32 Bit und denkst nur an ARM. Mach 
dich davon frei und du hast es begriffen: die Bitbreite spielt keine 
Rolle.

Andreas H. schrieb:
> Versteh mich nicht falsch. Ich halte SW Unterstützung für extrem
> nützlich. Aber nur wenn man weiss, was da passiert. Aber genau DAS fehlt
> den Anfängern dann.

Wie machst du das bei Oberflächenprogrammierung? Kennst du jede Zeile im 
Linux Kenrnel?

Andreas H. schrieb:
> Solange er nicht weiss, wofür er da die drei Pedale hat, muss man ihn
> nicht dadurch verunsichern, dass man ihm zeigt, wie man auf dem
> Nürburgring Kurven bei 290Km/h anfährt. Das macht er im schlimmsten Fall
> nämlich mal nach.
Wenn er heute auf den Verkehr losgelassen wird, sollte er auf der 
Autobahn 200km/h fahren können. Vor 50 Jahren reichten 120km/h. ;-)

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Da wäre ich mir aber nicht so sicher. Du schreibst 8 Bit hast aber ganz
> konkret AVR im Kopf.
>Du schreibst 32 Bit und denkst nur an ARM. Mach
> dich davon frei und du hast es begriffen: die Bitbreite spielt keine
> Rolle.
Wie kommst Du denn auf diesen Schwachsinn ?

Ich hab mich hier nur hauptsächlich auf diese beiden Typen bezogen, weil 
dass Thema des Threads ja eigentlich in die Frage abdriftete, was für 
einen Anfanger besser ist.

Ansonsten wird alles programmiert was passt - die Dinger sind ja kein 
Selbstzweck. Für den Luxus einer "Prozessorliebe" bin ich zu faul. Für 
die permanente Suche nach dem "Hype-uP of the year" allerdings auch.

Wenn Du im ASIC Bereich arbeitest, dann klären sich da viele Mythen 
ziemlich ab ;-)

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Wie kommst Du denn auf diesen Schwachsinn ?

Lies deine Posts.

von greg (Gast)


Lesenswert?

Future schrieb:
> Da wäre ich mir aber nicht so sicher. Du schreibst 8 Bit hast aber ganz
> konkret AVR im Kopf. Du schreibst 32 Bit und denkst nur an ARM. Mach
> dich davon frei und du hast es begriffen: die Bitbreite spielt keine
> Rolle.

Das ist in der Theorie richtig, aber bei MCUs geht mit größerer 
Bitbreite eine allgemein größere Komplexität einher, auf mehreren 
Ebenen.

von Future (Gast)


Lesenswert?

greg schrieb:
> Das ist in der Theorie richtig, aber bei MCUs geht mit größerer
> Bitbreite eine allgemein größere Komplexität einher, auf mehreren
> Ebenen.

Bitte vergleiche einen 8 Bit AVR mit einem 16 Bit MSP430. Gilt deine 
Annahme da auch?

von Antimedial (Gast)


Lesenswert?

Stefan schrieb:
> Ist dir irgendwie langweilig? Nein? Dann begründe diese Vorwürfe bitte!

Das sind keine Vorwürfe, das war eine Schilderung meiner Erfahrungen in 
der Entwicklung, und außerdem auch die Meinung vieler Verfechter von 
agiler Entwicklung (insbesondere dem Devops-Ansatz).

greg schrieb:
> Das ist in der Theorie richtig, aber bei MCUs geht mit größerer
> Bitbreite eine allgemein größere Komplexität einher, auf mehreren
> Ebenen.

Und Komplexität kann man auf vielen Ebenen wieder einholen. Die CPU 
eines Raspberry Pi ist auch unheimlich komplex, trotzdem kann man einem 
Anfänger innerhalb weniger Stunden erste Schritte beibringen. Ein PC ist 
auch unheimlich komplex (übrigens 64 Bit heutzutage meistens), trotzdem 
fangen die meisten Menschen dort an, weil sie es leichter empfinden als 
die AVR-Programmierung.

von greg (Gast)


Lesenswert?

Future schrieb:
> greg schrieb:
>> Das ist in der Theorie richtig, aber bei MCUs geht mit größerer
>> Bitbreite eine allgemein größere Komplexität einher, auf mehreren
>> Ebenen.
>
> Bitte vergleiche einen 8 Bit AVR mit einem 16 Bit MSP430. Gilt deine
> Annahme da auch?

Naja, die Peripherie ist etwas umfangreicher und schwieriger zu nutzen 
als beim typischen 8-Bitter, aber der größte Unterschied ist meistens 
schon beim Schritt zu 32 Bit auszumachen.

Antimedial schrieb:
> Stefan schrieb:
>> Ist dir irgendwie langweilig? Nein? Dann begründe diese Vorwürfe bitte!
>
> Das sind keine Vorwürfe, das war eine Schilderung meiner Erfahrungen in
> der Entwicklung, und außerdem auch die Meinung vieler Verfechter von
> agiler Entwicklung (insbesondere dem Devops-Ansatz).
>
> greg schrieb:
>> Das ist in der Theorie richtig, aber bei MCUs geht mit größerer
>> Bitbreite eine allgemein größere Komplexität einher, auf mehreren
>> Ebenen.
>
> Und Komplexität kann man auf vielen Ebenen wieder einholen. Die CPU
> eines Raspberry Pi ist auch unheimlich komplex, trotzdem kann man einem
> Anfänger innerhalb weniger Stunden erste Schritte beibringen.

Ein Raspberry Pi ist auch wieder so komplex und bietet so viele 
Ressourcen, dass man auf einer sehr hohen Abstraktionsebene 
programmieren kann, wie auf einem PC. Bei einem kleinen 32 Bit MCU geht 
das noch nicht. Da schreibt man direkt auf der Hardware operierendes C 
wie auf einem 8/16-Bitter, aber andererseits hat man es mit einem 
deutlich komplexeren System zu tun.

Das Raspberry Pi hat dazu noch exzellenten Softwaresupport, das bekommt 
man in seltensten Fällen von den MCU-Herstellern. Z.B. die STM32 
Standard Peripheral Library wird hier ja regelmäßig niedergemacht. Es 
ist das gleiche Problem wie bei vielen ARM Development Boards: die 
Hardwarehersteller verstehen nix von Software und es gibt nur ein 
lieblos hingerotztes BSP mit seltenen (oder gar keinen) Updates und 
Bugfixes.

Vielleicht gibt es ja tatsächlich MCUs mit > 16 Bit Bitbreite und 
geringer Gesamtkomplexität, aber so etwas habe ich noch nicht gesehen.

von Future (Gast)


Lesenswert?

greg schrieb:
>> Bitte vergleiche einen 8 Bit AVR mit einem 16 Bit MSP430. Gilt deine
>> Annahme da auch?
>
> Naja, die Peripherie ist etwas umfangreicher und schwieriger zu nutzen
> als beim typischen 8-Bitter,

Du hast auf beiden Controllern vergleichbare Aufgaben gelöst? Wenn ja, 
wundert mich deine Antwort. Die meisten Entwickler sehen es genau 
gegenteilig: Der MSP430 (16 Bit) ist einfacher zu nutzen als der AVR (8 
Bit).

von Carsten S. (dg3ycs)


Lesenswert?

greg schrieb:
> Das ist in der Theorie richtig, aber bei MCUs geht mit größerer
> Bitbreite eine allgemein größere Komplexität einher, auf mehreren
> Ebenen.

Absolute Aussagen in einem so derart vielfältigen Bereich wie dem der 
auch dem Markt erhältlichen µC Varianten sind immer extrem 
Problematisch.
Aber im allgemeinen gilt das oben gesagte schon - Ausnahmen können die 
Regel aber durchaus auch bestätigen...

Antimedial schrieb:
> Ein PC ist auch unheimlich komplex (übrigens 64 Bit heutzutage meistens),
> trotzdem fangen die meisten Menschen dort an, weil sie es leichter
> empfinden als die AVR-Programmierung.

Entweder assoziieren wir beide etwas völlig Unterschiedliches mit dem 
Begriff "µC Programmierung" oder dein Vergleich hinkt sehr gewaltig.

Auf einem PC fängt man mit der Programmierung an weil man erst einmal 
FAST NULL vorwissen braucht! Es ist bei den Entwicklungsumgebungen die 
ich kenne nicht nötig erst einmal die Clock einzustellen, den Bildschirm 
zu Initialisieren, JA - Nicht einmal erst den Ausgabestream auf den 
Bildschirm zu routen ist nötig...

Für ein erstes "Hallo Welt" ist es nur erforderlich das man weiß wie man 
die IDE startet und das Programm nach Eingabe der paar Zeichen 
kompiliert.
(kaum ein Anfänger wird heute noch nur auf Kommandozeilenebene mit 
EInzeltools loslegen - Wenn überhaupt dann nur für ihn unsichtbar als 
vordefinierte Toolchain was für diesen im Ergbniss ja einer IDE 
gleichkommt)

Das "Schöne" bei der Programmierung am PC ist das man sich erst einmal 
eine ganze Weile mit den Grundfunktionen einer Programmiersprache 
austoben kann bevor man über dinge wie Hardwarezugriff usw. nachdenken 
muss. Selbst das Datei I/O kommt (normalerweise) erst dann wenn man die 
Grundlagen der Programmierung verstanden hat. Vom Zugriff auf die 
Schnittstellen ganz zu schweigen. Zudem bekommt man bei den 
Anfängertypischen Programmen im Fehlerfall immer zumindest eine 
Eingrnezung wo der Fehler liegt. Könnte in C teilweise deutlicher sein, 
aber immer noch viel besser als das sich einfach NICHTS tut wie beim µC 
im Fehlerfall beim Blinkprogramm.

Und genau HIER schliesst sich dann auch der Kreis zu den Gründen warum 
hier für einen Einsteiger wehemennt vertreter der 8Bit Architektur 
ermpfohlen werden und keine 32Bitter! Es geht um die geringmöglichste 
Einstiegshürde. Also den Programmieraufwand den man treiben muss und die 
Zahl der Datenblattseiten die man lesen muss bis man die erste LED 
blinken lassen und dieses noch auf Tastendruck Aktivieren/Deaktivieren 
kann.
Es mag vielleicht Ausnahmen geben, aber bei den hier genannten 8Bittern 
ist es deutlich weniger Vorararbeit als bei den hier genannten 
32Bittern!

Und JA, selbst der 8051 wäre noch ein guter Rat für µC Einsteiger wenn 
es für diesen genauso eine "Out of the Box" lauffähige kostenlose 
(Anfängergeiegnete) IDE incl. Compiler, die mit einem 20 Euro Programmer 
den max 3 Euro teuren µC fast unbegrenzt wiederbeschreiben könnte und 
dabei natürlich noch die aktive "Community" in den Foren zur 
Unterstützung hätte wie bei PIC & AVR der Fall.

Denn beim Einstieg geht es hier nicht um Leistung des µC sondern einzig 
und allein erst einmal darum das man Lernt überhaupt damit umzugehen und 
das ganze Drumherum, gerade den Peripheriezugriff, zu verstehen.
Und dieses Verständniss fällt mit einem der hier genannten 8Bitter nun 
einmal in der Regel als bei den genannten 32Bittern mit Ihrer oft 
verhandenen wirklichen Fülle an Peripherie bei der natürlich nicht jedes 
Modul für sich ist sondern viele Module noch zig Abhängigkeiten 
untereinander haben...

Es geht hier doch nicht um eine Entscheidung fürs Leben sondern 
vielleicht um eine die für die nächsten 365 Tage gilt. Wenn dann die 
Grundlagen Sattelfest sind kann man ja jederzeit auch auf einen anderen 
Typ wechseln wenn der Bedarf da ist... Jetzt geht es aber nur darum die 
Hürden niedrig zu halten. Das der TO innerhalb des nächsten Jahres in 
die Lage kommt mit überwiegend eigener Firmware die Möglichkeiten eines 
8Bitters Sinnvoll auszureizen wage ich mal stark zu bezeifeln.

Ach Ja - da hier so die Möglichkeiten der Debugger hervorgehoben wurden.
Die sind doch keinesfalls ein Alleinstellungsmerkmal der 32Bitter...
Die gibt es doch auch für praktisch jeden halbwegs aktuellen 8Bitter, 
für die meisten sogar recht günstig. Beim PIC geht es mit ~30 Euro 
(Original) los, beim AVR meine ich mit dem Dragon für 70(?) Euro...

Wobei meiner Meinung nach ein Debugger erst dann richtig Sinn macht wenn 
man die Grundlagen bereits behrrscht. Also sich schon mal 10 oder 20 
Std. mit Blinkprogrammen usw. herumgeschlagen hat. Evtl. könnte man 
sogar noch weiter gehen und sagen die machen erst dann Sinn wenn man die 
Struktur des µC wirklich begriffen hat.

Aber DANN sind die wirklich eine Hilfe. Ich nutze den Debug Mode bei 
meinen Programmern sehr selten- Egal ob jetzt PicKit, AVRJTAGII oder 
Keil JLink. Wenn ich den aber benötige, dann spart der mir oft sehr sehr 
viel Zeit und Nerven.

Gruß
Carsten

von basics (Gast)


Lesenswert?

Carsten Sch. schrieb:

Volle Zustimmung!

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ein "Blink-LED" oder "Hello World" sollte man nicht als Maß der 
Entscheidung nehmen.
Viel mehr sollte der TS selbst mal das Datenblatt von einem AVR und 
einem STM32F103 laden und selbst mal darin lesen wie die Peripherie 
funktioniert, bzw. was für Möglichkeiten es gibt.
Da wird der TO schnell selbst sehen welcher Prozessor besser für IHN 
geeignet ist, denn was nützt die tollsten Pheriperiefunktinalität wenn 
man erst mal nur Bahnhof versteht.
Ich nutze den STM32 weil ich immer wieder bei Z80/68HC11/8051/AVR/M16C 
an irgend welche Ecken und Kanten gestoßen bin, die ich mit dem nicht 
mehr (bzw. viel weniger) habe.

Mit einem Debugger kann man jederzeit "Pause" drücken und man sieht wo 
der Prozessor gerade steht, z.B. hier:
Beitrag "Mal wieder Blinkschwierigkeiten beim STM32."
Und der TO hätte sofort gemerkt dass die Variable im delayLoop() doch 
herunterzählt und selbst auf die Idee kommen können mal eine kleinere 
Zahl zu nehmen. Daher ist ein Debugger auch schon mit den aller ersten 
Versuchen mehr als Sinnvoll - sofern man versteht was man damit machen 
kann.

von Carsten S. (dg3ycs)


Lesenswert?

Ach Ja:
Um selbst noch eine Empfehlung abzugeben -

Bei dem Begriff "Einsteiger" muss man sicher etwas differenzieren, also 
beispielsweise Unterscheiden ob es sich jetzt um einen ET bzw. INF 
Studenten im vierten Semester handelt der später seine Brötchen mit µC 
Anwendungsentwicklung verdienen will oder aber um einen reinen 
Hobbyisten der es nur zum Spass macht. -Bei "Einsteiger" denke ich 
normalerweise immer an das zweite, trifft hier ja auch wohl zu ;-)

Also hier meine Allgemeinen Überlgegungen:
Ich gehöre auch zu denen die für einen EInsteiger erst einmal Latte 
niedrig anlegen. Also eine 8Bit Architektur.

Danach muss man schauen was derjenige Erreichen will. Nur schnell ein 
paar einfache Aufgaben erfüllen lassen ohne hohen Anspruch darauf auch 
später viel komplexere Dinge selbst auf die Beine stellen zu können, 
dann würde der Weg über speziell für Laien gedachte Lösungen am 
einfachsten sein.
Solche Sonderfälle können das Arduino System sein mit teilweise 
vorgegebener HArdware und besonderer Software, Oder auch nur Dinge wie 
eine "einfachere Programmiersprache", beispielsweise BASCOM.
Solche "Erleichterungen" erkauft man sich aber Üblicherweise mit 
erheblichen NAchteilen wie das man dann praktisch auf Ewig an einem 
System festklebt...

Oder will man zwar einfach Anfangen, aber kontinuierlich seine 
Möglichkeiten Ausbauen. Zwar sicher bei komplexen Projekten auch häufig 
auf fertige Libs zurückgreifen aber in fällen wo es die nicht gibt oder 
wo die nicht geeignet sind auch selber die Fähigkeiten haben eine Lösung 
zu liefern an stelle dann zur Aufgabe gezwungen zu sein. (Vom 
Verständniss der benutzten Libs ganz zu schweigen!)

Dann ist derzeit der Einstieg mit der Programmiersprache C bei 
Programierung direkt auf dem nackten µC das universellste. Die Frage 
welcher µC für den Einstieg gewählt wird beschränkt in keiner Weise die 
µC Auswahl für die Zukunft solange für beide ein C Compiler verfügbar 
ist.
-> Da sonst die Auswahl schon beendet wäre gehe ich mal wieder vom 
zweiten aus

Dann denke ich noch das es eine Architektur sein sollte für die es eine 
Menge Einsteigerfreundliches Lesematerial und Beispiele im Netz gibt, 
zudem sollten die µC und Programmiertools auch für Privatleute gut 
beschaffbar sein.
-> Die am weitesten verbreiteten µC sind im diesen Sinn wohl AVR und 
PIC.

Dann sollte die Einstiegsausrüstung preislich Erschwinglich sein, denn 
zum einen ist ja noch nicht sicher ob man wirklich auf dauer Spass an 
der Sache hat und zum anderen soll es ja auch gerade KEINE Festlegung 
fürs Leben werden. Zudem gibt es zu viele schöne Dinge im 
Elektronikbereich zu kaufen als das man ohne Not für etwas viel Geld auf 
dem Tisch legen sollte wenn es vergleichbares schon viel günstiger Gibt.

Das trifft auch auf die beiden Oben genannten µC Familien AVR und PIC 
zu!
Der AVR Programmer koste etwa 40 Euro, einer mit Debugfunktion ab 
70Euro. Beim Pic bekommt man ab ~35 Euro einen Programmer/Debugger in 
einem.
Hält sich also beides im Rahmen.
-> Beide Familien bleiben im Rennen

Zudem ist es ja durchaus so das gerade im Einstig häufiger mal der µC 
stirbt. Gemeinerweise aber häufig nicht komplett, sondern nur ein 
einzelner Pinntreiber usw. weil ein Port statt auf Eingang als Ausgang 
eingestellt war mit Kurzschluss als Folge usw.
Daher denke ICH das es sehr Ratsam ist die ersten Gehversuche mit einem 
gesockelten µC im DIP gehäuse zu absolvieren. Das erleichtert den 
Austausch kaputter µC oder auch nur die Gegenprobe ob ein Fehler nun in 
der SW oder in der HArdware des µC liegt. Auch können so viel leichter 
erste eigene Schaltungen auf Lochraster aufgebaut werden...
Und für Elektronikeinsteiger gilt das erst RECHT! Denn da fehlt sowohl 
die Lötübung für den Aus/Einbau von SMD µC mit hohem PinCount als auch 
die Erfahrung im Schaltungsaufbau allgemein was sicher den einen oder 
anderen kaputten µC mehr zur Folge haben wird.

->Auch das Feature "Vieles noch in DIP" bieten beide Familien PIC & AVR 
die in der engeren Auswahl sind. (Wobei auch hier die PIC leicht die 
NAse vorn haben da auch neue µC immer noch in DIP aufgelegt werden wenn 
die mit max 40Pin Auskommen)

Damit gibt es KEINEN klaren Sieger.

Ich mache das dann immer noch an den "Sprachfähigkeiten" fest. Wer gut 
Englisch kann dem würde ich im allgemeinen eher zum PIC raten weil er 
doch bei den Anfängerkriterien leicht vorne liegt.

Zudem ist es ja noch so das PIC nicht eine einzelne Controllerserie 
meint sondern das es ein Oberbegriff für verschiedene Serien eines 
HErstellers ist die alle mit derselben IDE und mittlerweile für den 
Anweder identischen Compilern über denselben Programmer programmiert 
werden.
Hier kann man also mit einem 18F 8Bitter einsteigen, nach ein paar 
Wochen Übung mit derselben Entwicklungsumgebeung und der selben 
Programmierhardware dann einen Leistungsfähigen 32Bitter bearbeiten und 
direkt danach dann noch extrakleinen 8Bitter im SOT23/5 Gehäuse 
verwenden... (Wobei dieses Argument für einen Einsteiger nur sehr 
beschränktes Gewicht haben sollte bei den heutigen Programmerpreisen!)

Wer aber kaum Englisch kann hat im µC Bereich zwar allgemein Probleme - 
fährt aber mit dem AVR durch die viel größere deutsche Community 
zumindest etwas besser.
-> Aber wie gesagt: Das war die Allgemeine Beurteilung

Im konkreten Fall bin ich aber geneigt eine ANDERE Empfehlung in 
Erwägung zu ziehen.
Da der TE ja ausdrücklich schrieb das er keine nennenswerte 
Elektronikkentnisse hat scheidet zumindest für den Anfang der Aufbau 
eigener Schaltungen aus. Es bliebe also nur der Weg "erst" einmal 
Elektronikkenntnisse incl. Lötarbeiten zu sammeln und Später mit den µC 
zu beginnen. Für jemanden den aber die Programmierung in erster Linie 
interessiert vielleicht zu Langweilig...

Auch Entwicklungsboards alleine sind keine befriedigenge Lösung, da sie 
für der allerersten Kontakt sicher eine Hilfe dadurch sind das die 
Schaltung passend Dimensioniert und Fehlerfrei ist, aber für viele 
eigene Anfängerprojekte zu Unflexibel.
Allgemein gibt es ja die "starter Kits" als Schnupperhardware und dann 
die wirklich hochkomplexen Boards die ich bei vielen (beruflichen) 
Projekten für die ersten Schritte nicht mehr missen möchte. Aber nur 
wenig im mittleren Bereich wohl sich der TE im nächsten JAhr wohl man 
meisten bewegen wird.

Daher würde ich IN DIESEM SPEZIELLEN FALL doch auf die oben eigendlich 
bereits ausgeschlossene Arduino Plattform zurückkommen um diese noch 
einmal mit ins Gespräch zu bringen.

Es wurde ja schon mehrfach geschrieben das man diese Serie ja nicht 
"nur" als "Arduino" Gesamtprojekt sehen kann sondern das es sich 
üblicherweise um Boards mit einem vorprogrammierten ATMEGA 328 handelt 
die man auch mit nativen C aus dem AVR Studio herraus programmieren 
kann.

Daher erscheint mir der Griff zu den ARDUINO Boards hier durchasu 
Sinnvoll.
Idealerweise eines mit Gesockeltem µC! (Oder Notfalls halt mehrere in 
Reserve halten um schnell mal zur Kontrolle querzutauschen)
Allerdings würde ich dem TE dann sehr ans HErz legen die ganze Arduino 
Software links liegen zu lassen und die Boards wirklich nur als 
HArdwareplattform zu verwenden, die Programmentwicklung im AVR Studio 
vorzunehmen usw.
Das ist vermutlich der beste Kompromiss aus einfachen Einstieg ohne 
Elektronikkentnisse, Erweiterbarkeit (Er kann ja auch die "Arduino 
Shields" problemlos verwenden) aber auch der Möglichkeit sich alle 
Optionen offen zu halten und ohne große Probleme später auf eine 
Leistungsfähigere µC Famile umzusteigen wenn er wirklich entsprechend 
Ressourcenhungrige Firmware schreibt.

Gruß
Carsten

von m.n. (Gast)


Lesenswert?

@Carsten:
10 Pluspunkte für Deine ausführliche Stellungnahme. Wenn der TO mit 
einem 8051-Derivat starten würde, wäre das aus meiner Sicht auch in 
Ordnung.

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Lies deine Posts.

Lies DU meine Posts:

Andreas H. schrieb:
> Ich hab mich hier nur hauptsächlich auf diese beiden Typen bezogen, weil
> dass Thema des Threads ja eigentlich in die Frage abdriftete, was für
> einen Anfanger besser ist.

Ansonsten wären wir nämlich schon bestimmt bei dem Thema angelangt, 
warum Du jedem auf biegen und brechen einen STM32 aufschwatzen willst, 
wenn man für den gleichen Preis auch einen Stellaris (Cortex-3) oder 
(besser) einen Tiva (Cortex-4) bekommt.
(Dann landen wir aber natürlich sofort bei der berühmten Fangfrage, wie 
man mit einem STM32 PCI auf level (statt edges) auslöst usw., usw. ).

Oh, und PIC32 (MIPS-4K) wäre auch noch im Angebot. Den gibts auch noch 
im bastelfreundlichen DIL28 ;-)

Aber das bringt den TO auch nicht weiter^^


Antimedial schrieb:
> Die CPU
> eines Raspberry Pi ist auch unheimlich komplex, trotzdem kann man einem
> Anfänger innerhalb weniger Stunden erste Schritte beibringen.
Und zwei Stunden später daran verzweifeln, dass er es nicht schafft, ein 
simples TFT (z.B. mit HD44780) anzuschließen, ohne sich entweder erst 
mal in den Linuxkernel reinlesen zu müssen oder auf der /sys/gpioXX 
Ebene rumzukratzen.

Und damit lernt jemand Embedded programming ? Wohl kaum.

Antimedial schrieb:
> Ein PC ist
> auch unheimlich komplex (übrigens 64 Bit heutzutage meistens), trotzdem
> fangen die meisten Menschen dort an, weil sie es leichter empfinden als
> die AVR-Programmierung.
Dann lass mal mit einem Standard-PC eine LED blinken.
Das ist ein Äpfel<->Birnen Vergleich, oder ?


basics schrieb:
> Carsten Sch. schrieb:
>
> Volle Zustimmung!
m.n. schrieb:
> @Carsten:
> 10 Pluspunkte für Deine ausführliche Stellungnahme.

Ja, Carsten hat den Nagel 100% auf den Kopf getroffen. Genau meine 
Meinung.

m.n. schrieb:
> Wenn der TO mit einem 8051-Derivat starten würde, wäre das aus meiner
> Sicht auch in Ordnung.

Etwas offtopic aber gibts eigentlich in der Zwischenzeit "bezahlbare" 
Compiler für die 8051, MCS81 usw. ?
Der Keil ist ja sehr nett aber etwas teuer für Zuhause.

Grüße
Andreas

von lusi (Gast)


Lesenswert?

Warum ist die Peripherie des stm32 eigentlich schwer zu nutzen? Die 
Initialisierung ist doch dermaßen leicht mit der St Lib zu 
bewerkstelligen. Da kann man ja mehr oder weniger in Klartext 
hinschreiben was man will...

Seit ich den stm32 nutze, gucke ich nur noch ganz selten ins Datenblatt, 
denn die Initialisierungen stehen alle schön ordentlich in der Lib 
drinnen.

Ich mache es meistens so: Initialisierungen mit den Lib-Funktionen und 
wenn es etwas schneller gehen soll (zb. Pin Togglen), dann gucke ich in 
die Funktion rein die das machen soll und kopier mir das Wesentliche da 
raus.

Super simpel. Alles gelingt traumhaft einfach. Sogar DMA-Zugriffe sind 
sehr leicht zu machen.

Und was hier immer von "Es ist doch so kompliziert den Clock 
einzustellen" geredet wird: Was ist daran so komplex die Zeile 
"SystemInit();" im Main einzufügen und an 2 Stellen im Code eine 
Variable auf den verwendeten Quarz zu ändern?

Da hatte ich tagelange nervenzermürbenden Ärger mit den Drecks 
AVR-Fuses. Als Einsteiger kann man da schon verzweifeln, wenn nichts 
mehr geht. Da lobe ich mir ein einfach zu nutzendes stm32 Discovery, wo 
in Null Komma Nix eine LED blinkt. Ohne Stress, günstig und 
zukunftsweisend.

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> warum Du jedem auf biegen und brechen einen STM32 aufschwatzen willst

Wer will denn das? Es waren auch andere Controller im Gespräch. Du hast 
nur noch nicht verstanden, dass 32 Bit nicht gleichzusetzen mit 
"kompliziert" ist. Die Zeit bleibt nicht stehen. 32 Bit werden ganz 
normal. ;-)


Und lies den folgenden Abschnitt ruhig mehrmals, damit es hängen bleibt. 
;-P
lusi schrieb:
> Da hatte ich tagelange nervenzermürbenden Ärger mit den Drecks
> AVR-Fuses. Als Einsteiger kann man da schon verzweifeln, wenn nichts
> mehr geht. Da lobe ich mir ein einfach zu nutzendes stm32 Discovery, wo
> in Null Komma Nix eine LED blinkt. Ohne Stress, günstig und
> zukunftsweisend.

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Stefan Tully schrieb:
> ich bin absoluter Neueinsteiger in die Welt der Elektronik und
> Mikrocontroller Programmierung. Ein bisschen Programmierung habe ich in
> C, C+, Basic und VBA das ist aber auch schon alles ziemlich lange her.
> Auf meine alten Tage möchte ich mir nun nochmal ein neues Hobby zulegen

Eigentlich ist es für Deinen Zweck egal mit welchen Chip Du
anfängst. Höre Dich mal unter Deiner Bekannschaft um ob sich auch
jemand mit solchen Dingern befaßt und Dir bei den ersten Gehversuchen
helfen kann. Das dürfte Dir den Einstieg erheblich erleichtern.

Mein erster war ein 6502 ...

von Andreas H. (ahz)


Lesenswert?

lusi schrieb:
> Da lobe ich mir ein einfach zu nutzendes stm32 Discovery, wo
> in Null Komma Nix eine LED blinkt. Ohne Stress, günstig und
> zukunftsweisend.

<irony>
Na wenn das Deine Anfordungen erfüllt kann ich Dir was preiswerteres 
anbieten:
http://www.reichelt.de/?ARTICLE=22270&PROVID=2257&wt_mc=amc136152448016369&ref=adwords_pla&&gclid=CPCr_sG20LsCFUhb3godg1cApg
</irony>

Ich weiss nicht, ob es mir icht mehr Sorgen machen würde, an den paar 
AVR Fuses zu scheitern, was vermutlich jedem, der mit AVRs anfängt, 
schon passiert ist. Meist weil man doch noch nicht richtig begriffen 
hat, was in diesem 8-Bit "Teufelswerk" abgeht.

Probier vielleicht mal etwas, wo man schon eher 32-Bit braucht. Z.B. mit 
zwei Mikrophonen eine zuverlässige (!) Ortsbestimmung einer Schallquelle 
zu machen.
Hint: http://de.wikipedia.org/wiki/Lokalisation_(Akustik)

Oder (wenns etwas anspruchsvoller sein darf) einen Lämschutzkopfhörer, 
der zwar Lärm aktiv wegdämpft, Sprache aber noch durchlässt. Viel Spass 
(auch mit den latenzen ;-)

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

Joachim Drechsel schrieb:
> Höre Dich mal unter Deiner Bekannschaft um ob sich auch
> jemand mit solchen Dingern befaßt und Dir bei den ersten Gehversuchen
> helfen kann. Das dürfte Dir den Einstieg erheblich erleichtern.

Stimmt :-)

Auf diese Idee sind wir bei unserem ganzen "Rumgezanke" gar nicht 
gekommen.
Viele Probleme werden ja schon im Keim erstickt, wenn sie mit einem 
kurzen Anruf erledigt werden können.

Erspart u.U. viel rumgesuche im Netz.

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Ich weiss nicht, ob es mir icht mehr Sorgen machen würde, an den paar
> AVR Fuses zu scheitern, was vermutlich jedem, der mit AVRs anfängt,
> schon passiert ist.
???

Andreas H. schrieb:
>Meist weil man doch noch nicht richtig begriffen
> hat, was in diesem 8-Bit "Teufelswerk" abgeht.

Und daher perfekt für Anfänger. :-( :-( :-(

von Antimedial (Gast)


Lesenswert?

Carsten Sch. schrieb:
> Entweder assoziieren wir beide etwas völlig Unterschiedliches mit dem
> Begriff "µC Programmierung" oder dein Vergleich hinkt sehr gewaltig.

Andreas H. schrieb:
> Dann lass mal mit einem Standard-PC eine LED blinken.
> Das ist ein Äpfel<->Birnen Vergleich, oder ?

Schade, ihr habt beide nicht begriffen, was ich damit sagen wollte. 
Dabei habe ich es eigentlich gleich im ersten Satz gesagt: Man kann 
Komplexität verbergen! Wenn man es richtig macht, kann man auch ein 
deutlich komplexeres System (eben Raspberry Pi oder ein PC) sehr gut 
beherrschen.

Die Frage ist also nicht, wie komplex das System ist, sondern wie 
einfach der Einstieg in das System ist.

Und wie bereits erwähnt, gibt es bei Cortex-M-µC meistens 
Standardbibliotheken und sehr gute Beispiele, die für einen Einsteiger 
bzw. "Umsteiger" aus dem PC-Bereich womöglich sogar einfacher zu 
verstehen sind als die nackten Register bei einem AVR. Und deshalb ist 
es erst einmal Unsinn 32-Bit von vorne rein auszuschließen, sondern sind 
durchaus eine Erwägung wert. Eben weil sie auch deutlich mächtigere 
Anwendungen ermöglichen. Oder mal ehrlich, wer will denn nur eine LED 
blinken lassen?

Um es noch einmal klarzustellen: Ich will hier keinem vom AVR zum 
Einstieg abraten, ich bin nur dagegen, dass man 32-Bit-µC von vornerein 
als zu komplex abtut.

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Andreas H. schrieb:
> Auf diese Idee sind wir bei unserem ganzen "Rumgezanke" gar nicht
> gekommen.
> Viele Probleme werden ja schon im Keim erstickt, wenn sie mit einem
> kurzen Anruf erledigt werden können.

So isses ... ;)

von Andreas H. (ahz)


Lesenswert?

Joachim Drechsel schrieb:
> Andreas H. schrieb:
>> Auf diese Idee sind wir bei unserem ganzen "Rumgezanke" gar nicht
>> gekommen.
>> Viele Probleme werden ja schon im Keim erstickt, wenn sie mit einem
>> kurzen Anruf erledigt werden können.
>
> So isses ... ;)

So, und jetzt geh ich meinen AIM-65 mal "streicheln" (u remember that ?)
:-D

Grüße
Andreas

von m.n. (Gast)


Lesenswert?

lusi schrieb:
> Da lobe ich mir ein einfach zu nutzendes stm32 Discovery, wo
> in Null Komma Nix eine LED blinkt.

Mit dem STM32F407-Discovery hatte ich vor ca. zwei Jahren angefangen. Zu 
meiner großen Freude blinkten da schon LEDs und ich brauchte nichts mehr 
zu programmieren. So einfach ist das :-)

Anschließend hatte ich damit eine Anwendung umgesetzt, die schon auf 
Renesas µCs (H8SX, SH2 und RX) lief, und wo ich genau wußte, was mein 
Ziel war.
Und dennoch war es eine elende Sucherei, die gewünschten Dokumente zu 
finden. Ferner fiel mir auch auf, dass die STM32 keine Alleskönner sind, 
sondern gegenüber den zuvor genannten Controllern teilweise deutliche 
Einschränkungen aufweisen. Das merkt man aber erst, wenn man mal mehr 
anstellt, als fertige Beispielprogramme zusammenzuklicken (siehe 
blinkende LED).

Einem Anfänger den STM32F4xx als Einstieg zum empfehlen soll wohl nur 
dem einen Zweck dienen: die eigene Programmierpotenz zur Schau zu 
stellen.

von Antimedial (Gast)


Lesenswert?

m.n. schrieb:
> Anschließend hatte ich damit eine Anwendung umgesetzt, die schon auf
> Renesas µCs (H8SX, SH2 und RX) lief, und wo ich genau wußte, was mein
> Ziel war.
> Und dennoch war es eine elende Sucherei, die gewünschten Dokumente zu
> finden. Ferner fiel mir auch auf, dass die STM32 keine Alleskönner sind,
> sondern gegenüber den zuvor genannten Controllern teilweise deutliche
> Einschränkungen aufweisen.

Das klingt eher so, als wäre die Vorgehensweise durch deine vorgegebene 
Lösung schon so in Stein geklopft, dass du die Möglichkeiten des µC gar 
nicht richtig genutzt hast.

m.n. schrieb:
> Einem Anfänger den STM32F4xx als Einstieg zum empfehlen soll wohl nur
> dem einen Zweck dienen: die eigene Programmierpotenz zur Schau zu
> stellen.

Dieser Schluss entbehrt sich jeglicher Logik.

von basics (Gast)


Lesenswert?

m.n. schrieb:
> Einem Anfänger den STM32F4xx als Einstieg zum empfehlen soll wohl nur
> dem einen Zweck dienen: die eigene Programmierpotenz zur Schau zu
> stellen.

Ich denke eher, daß die weit Fortgeschrittenen und Profis schon zu weit 
von den Anfängen entfernt sind und sich nicht vergegenwärtigen, daß die 
eigenen z.T. sicher auch unbewußten Selbstverständlichkeiten für den 
Anfänger große Hürden darstellen können.

von F. F. (foldi)


Lesenswert?

m.n. schrieb:

>
> Einem Anfänger den STM32F4xx als Einstieg zum empfehlen soll wohl nur
> dem einen Zweck dienen: die eigene Programmierpotenz zur Schau zu
> stellen.

Sehe ich ganz genau so!
Man sind das alles Helden.

700 Seiten Datenblatt, AppNotes und was sonst noch. Da ist so ein 
kleiner Tiny mit 170 Seiten noch recht überschaubar.

Worum geht es denn zu Anfang?

Doch sicher nicht darum einen Mars Rover zu bauen.
Natürlich kann ein Anfänger auch einen Code programmieren und den auf 
einen STM32 bekommen und auf dem Discovery wird es auch blinken, aber es 
geht doch um so viel mehr.

Man wird sich unweigerlich mit der Elektronik als solche auseinander 
setzten, wird auf einmal erfahren was ein OP ist, wozu man ihn einsetzt 
und was man da alles machen muss. Es geht darum die Architektur 
verstehen zu lernen. Und nicht zuletzt, wie löte ich richtig.

Da sind noch so irre viele Hürden zu nehmen, die ihr Helden längst 
vergessen habt.

Ich arbeite seit 25 Jahren mit Elektrik und Elektronik, aber selbst das 
Löten musste ich noch mal einen Tag lang üben. Jetzt löte ich auch 0805 
von Hand, aber zu Anfang war selbst ein Sockel schwierig.
Ob nun Atmel oder so ein MSP430 oder was auch immer, Hauptsache der 
Käfer hat erstmal Beine.

Bücher gibt es sicher schon genug zum STM32, vor allem die Chinesischen 
Ausgaben kann ich da empfehlen.
Warum wohl sind der Professor Banzi und die Gruppe um ihn auf die Idee 
gekommen diese Arduino Sachen zu bauen?

Am besten ist es sicherlich ein fertiges Gerät zu kaufen in dem schon 
ein Cortex drin ist und das auch ordentlich blinkt und irgendwas macht.

In allererster Linie geht es ums Lernen und Verstehen, später kann der 
Erfahrene dann ja immer noch den superduperhighend Mikrocontroller 
nehmen und damit das nächste Weltwunder aufbauen.

von lusi (Gast)


Lesenswert?

> Ich arbeite seit 25 Jahren mit Elektrik und Elektronik, aber selbst das
> Löten musste ich noch mal einen Tag lang üben. Jetzt löte ich auch 0805
> von Hand, aber zu Anfang war selbst ein Sockel schwierig.
> Ob nun Atmel oder so ein MSP430 oder was auch immer, Hauptsache der
> Käfer hat erstmal Beine.

SMD ist einfacher/schneller zu löten als bedrahtet.

von Carsten S. (dg3ycs)


Lesenswert?

Antimedial schrieb:
> Carsten Sch. schrieb:
>> Entweder assoziieren wir beide etwas völlig Unterschiedliches mit dem
>> Begriff "µC Programmierung" oder dein Vergleich hinkt sehr gewaltig.
>
> Andreas H. schrieb:
>> Dann lass mal mit einem Standard-PC eine LED blinken.
>> Das ist ein Äpfel<->Birnen Vergleich, oder ?
>
> Schade, ihr habt beide nicht begriffen, was ich damit sagen wollte.
> Dabei habe ich es eigentlich gleich im ersten Satz gesagt: Man kann
> Komplexität verbergen! Wenn man es richtig macht, kann man auch ein
> deutlich komplexeres System (eben Raspberry Pi oder ein PC) sehr gut
> beherrschen.

Doch, begriffen was du meintest habe ich durchaus. Für Andreas kann ich 
nicht sprechen, vermute aber mal er auch.

JA- Komplexität kann man zu einem gewissen Grad verbergen. Aber das 
funktioniert nur gut so lange man dann auch auf der Abstraktionsebene 
bleibt auf der sich das alles abspielt!
Sobald man aber an den Punkt kommt wo man auf eine niedrigere Ebene 
wechseln muss oder auch nur möchte fährt man direkt vor die Wand wenn 
man die Grundlagen nicht beherrscht.
Das oben genannte Beispiel mit dem "LED am PC Druckerport blinken 
lassen" finde ich da schon ganz passend. Dank der Abstraktion kann man 
die tollsten Sachen mit wenig Aufwand auf dem PC zu stande bringen. Aber 
ich wette ein einfaches PinToggeln bekommen die meisten 
"PC-Programmierer" ohne Nachschlagen nicht hin - Falls überhaupt in 
vertretbarer Zeit.

Und deshalb meine Bemerkung mit dem "Verständniss" des Begriffes "µC 
Programmierung". Bei den typischen Anfängerprojekten geht es doch eher 
selten um die Entwicklung eines MultimediaHsimsystems mit 
achweißichnichtwieviel Zoll TFT sondern eher um kleine Anwendungen mit 
einfacher Pinabfrage, ggf mal einen Timer, wenn es dann 
fortschrittlicher wird noch SPI, PWM oder gar UART.
Bis man aber an den Punkt angelangt ist wo man dann die oben genannten 
Funktionen wirklich verstanden und endlich auch komplexere Projekte 
angehen kann sind mit Sicherheit viele viele viele Nachmittage vergangen 
an denen man sich auf der untersten Hardwareebene herumtreiben musste.

> Und wie bereits erwähnt, gibt es bei Cortex-M-µC meistens
> Standardbibliotheken und sehr gute Beispiele, die für einen Einsteiger
> bzw. "Umsteiger" aus dem PC-Bereich womöglich sogar einfacher zu
> verstehen sind als die nackten Register bei einem AVR.

JA - Aber wie oben schon geschrieben:
Wenn man mit diesem Grundsatz an die Sache ran geht, dann lernt man den 
Umgang mit der Bibliothek aber nicht die wirklichen Grundlagen. Und was 
die Lib nicht her gibt, das geht dann nicht - Oder wie?

Selbstverständlich ist es heute nicht mehr Zeitgemäß komplexe Projekte 
auf der untersten Ebene abzuwickeln. Es ist auch aus meiner Sicht eine 
enorme Erleichterung das es diese Libs gibt und mittlerweile sind die 
für mich sogar zu einem wichtigen Kriterium bei der µC Auswahl für ein 
Projekt geworden.
ABER: Eine sinnvolle Anwendung erfordert meist sowohl den Einsatz der 
vorgefertigten Libs als auch eine sachkundig erbrachte Eigenleistung.
Und diese Eigenleistung ausserhalb der Lib-Anwenunge kann man ab einem 
bestimmten Schwierigkeitsgrad nur erbringen wenn man die Basics kennt.

> Oder mal ehrlich, wer will denn nur eine LED
> blinken lassen?

Nur eine LED Blinken lassen will auf Dauer sicher niemand!
Aber zum Einstieg ist dies nun einmal der erste sinnvolle Schritt.
Und eine ganze Reihe der dann folgenden Projekte bewegen sich aus sicht 
eines "erfahrenen" Anwenders auch nur auf einer sehr ähnlichen Ebene.

Wie gesagt, es geht nicht darum das jemand auf Dauer nur mit 8Bit µC 
arbeiten soll. Es geht hier nur um eine Plattform zum erlernen der 
BASICS zum Einstieg. Denn wer die BASICS beherscht hat keinerlei größere 
Probleme sich auf den unterschiedlichsten Architekturen zurechtzufinden 
und immer wieder neu GENAU DIE Architektur auszuwählen die für das 
aktuelle Projekt die geeigneteste ist.

Das Problem mit der "Eine für ALLES" Auswahl haben nur diejenigen die, 
weil sie so tolle Hechte sind, sich nie dazu "herabgelassen" haben sich 
mit den Tiefen der Materie zu beschäftigen.

Gruß
Carsten

von F. F. (foldi)


Lesenswert?

lusi schrieb:
>> Ich arbeite seit 25 Jahren mit Elektrik und Elektronik, aber selbst das
>> Löten musste ich noch mal einen Tag lang üben. Jetzt löte ich auch 0805
>> von Hand, aber zu Anfang war selbst ein Sockel schwierig.
>> Ob nun Atmel oder so ein MSP430 oder was auch immer, Hauptsache der
>> Käfer hat erstmal Beine.
>
> SMD ist einfacher/schneller zu löten als bedrahtet.

Ja, empfinde ich jetzt auch so, aber vor zwei Jahren waren normale 
Transistoren  (TO92) noch winzig für mich und heute finde ich SOT23 
schon recht griffig.

Daran sieht man aber, dass du so lange von der Basis weg bist, dass du 
das einfach nicht mehr weißt.

von lusi (Gast)


Lesenswert?

> Und was
> die Lib nicht her gibt, das geht dann nicht - Oder wie?

die Lib umfasst im Grunde alles. Wenn es dann doch mal in Ausnahmefällen 
nicht geht, guckt man halt ins Datenblatt.

Mir ist bislang noch nichts untergekommen, was mit der Lib nicht geht. 
Was sollte das denn sein?

von Antimedial (Gast)


Lesenswert?

Carsten Sch. schrieb:
> Das oben genannte Beispiel mit dem "LED am PC Druckerport blinken
> lassen" finde ich da schon ganz passend. Dank der Abstraktion kann man
> die tollsten Sachen mit wenig Aufwand auf dem PC zu stande bringen.

Ok, du hast es nicht begriffen. Es ging nie darum zu behaupten, dass man 
mit einem PC oder einem Raspberry Pi typische µP-Aufgaben erledigen 
kann. Diese Systeme nimmt man natürlich für ganz andere Aufgaben!

Carsten Sch. schrieb:
> Wenn man mit diesem Grundsatz an die Sache ran geht, dann lernt man den
> Umgang mit der Bibliothek aber nicht die wirklichen Grundlagen. Und was
> die Lib nicht her gibt, das geht dann nicht - Oder wie?

Und was die Peripherie und der Kern des AVR nicht hergibt, geht halt 
eben auch nicht. Beim STM32 hätte man dann aber die Möglichkeit, tiefer 
zu gehen. Beim AVR ist man aufgeschmissen.

von avr (Gast)


Lesenswert?

lusi schrieb:
> Da hatte ich tagelange nervenzermürbenden Ärger mit den Drecks
> AVR-Fuses. Als Einsteiger kann man da schon verzweifeln, wenn nichts
> mehr geht.

Seltsam das war bei mir genau umgekehrt: Die Fuses hab ich zum ersten 
mal nach einem halben Jahr verschossen. Davor hab ich immer zwei mal 
geschaut, bevor ich die verändert habe.

> Da lobe ich mir ein einfach zu nutzendes stm32 Discovery, wo
> in Null Komma Nix eine LED blinkt. Ohne Stress, günstig und
> zukunftsweisend.

Nach 2 Tagen bis der Compiler mal endlich bei eigenen Testprojekten 
lief, funktionierten die fertigen Codebeispiele immernoch nicht. Da ging 
bei mir langsam die Motivation flöten. Beim Avr heißt es runterladen, 
installieren und alles funktioniert. Und dann soll STM32 einfacher 
sein???

Das Preisargument bei 32bit verstehe ich bis heute noch nicht. Atmega48 
für < 1€ reicht für die meisten Projekte. Für ganze große Sachen gibts 
z.B. den Xmega192 für unter 3€. Und man hat keine Probleme mit 
irgendeiner komplizierten IDE, da kostenlos vom Hersteller verfügbar.

Btw. mit welchem µC hast du denn angefangen? Sicherlich nicht mit STM32.

von lusi (Gast)


Lesenswert?

> Nach 2 Tagen bis der Compiler mal endlich bei eigenen Testprojekten
> lief, funktionierten die fertigen Codebeispiele immernoch nicht. Da ging
> bei mir langsam die Motivation flöten. Beim Avr heißt es runterladen,
> installieren und alles funktioniert. Und dann soll STM32 einfacher
> sein???

Coocox lief bei mir auf Anhieb. Aber jeder macht da halt so seine 
Erfahrungen. Ist ja auch ein bischen vom Zufall abhängig...

von Simon K. (simon) Benutzerseite


Lesenswert?

Antimedial schrieb:
> Und was die Peripherie und der Kern des AVR nicht hergibt, geht halt
> eben auch nicht. Beim STM32 hätte man dann aber die Möglichkeit, tiefer
> zu gehen. Beim AVR ist man aufgeschmissen.

Was ist denn, wenn die Peripherie vom STM32 nicht das hergibt, was der 
AVR hergibt? Beispielsweise das Event System, mit dem man sehr flexibel 
interne Peripherieeinheiten wie Timer zusammenschalten kann. Das kann 
nämlich der STM32 nicht, aber der XMEGA.

Bei unserem Chameleon Projekt habe ich genau davon nämlich extensiven 
Gebrauch gemacht. Der STM32 stand zu Anfang des Projektes auch zur 
Debatte aber aus genau dem Grund fiel die Entscheidung auf den XMEGA.
https://github.com/skuep/ChameleonMini/wiki

: Bearbeitet durch User
von Antimedial (Gast)


Lesenswert?

Simon K. schrieb:
> Was ist denn, wenn die Peripherie vom STM32 nicht das hergibt, was der
> AVR hergibt? Beispielsweise das Event System, mit dem man sehr flexibel
> interne Peripherieeinheiten wie Timer zusammenschalten kann. Das kann
> nämlich der STM32 nicht, aber der XMEGA.

Timer zusammenschalten kann man beim STM32 auch. Davon abgesehen sind 
die Timer an sich schon mächtiger, dass man wahrscheinlich in den 
allermeisten Fällen nicht in die Verlegenheit gerät.

Ansonsten ist es schon klar, dass es in den Peripherien immer 
Unterschiede geben wird und man sicherlich irgend ein Beispiel findet, 
bei dem man einen Controller nicht so gut einsetzen kann. Das sind dann 
aber meist Ausnahmen, die die Regel bestätigen.

von Blende22 (Gast)


Lesenswert?

>Mein erster war ein 6502 ...
Meiner auch!
Es dürfte wirklich nicht besonders günstig für einen Anfänger sein, ihn 
mit 16- und 32-Bit-Controllern zu bombardieren, sag ich mal. Für den 
Einstieg reicht ein 8-Bit-Controller auf jeden Fall. Auch für die 
meisten Hobby-Anwendungen.
Was mich ein wenig konsterniert, sind die ständigen Hinweise auf die 
Datenblätter, wobei die Bezeichnung gar nicht stimmt, denn es handelt 
sich dabei meist um ein Buch mit mehreren hundert Seiten.
Was soll ein Anfänger mit diesen komplexen Unterlagen? Wie soll er 
herausfiltern, was da wichtig ist, abgesehen davon, dass er bestimmt 
nicht weiss, wie er die Daten in ein Programm umsetzt.
In dem Punkt hilft Stefan sehr:
http://www.youtube.com/watch?v=kAnp2n2o60Y
Er zeigt sehr gut, worauf es prinzipiell ankommt, präsentiert seine 
Tutorials  äusserst verständlich und führt gleichzeitig prima in die 
Programmiersprache C ein.
Ich glaube, dass man genau hier für einen Anfänger ansetzen sollte.
Auch die Datenblätter in deutscher Sprache wären recht praktisch, aber, 
für die Files auf dem angegebenen Link braucht man leider ein Kennwort.

von Simon K. (simon) Benutzerseite


Lesenswert?

Antimedial schrieb:
> Simon K. schrieb:
>> Was ist denn, wenn die Peripherie vom STM32 nicht das hergibt, was der
>> AVR hergibt? Beispielsweise das Event System, mit dem man sehr flexibel
>> interne Peripherieeinheiten wie Timer zusammenschalten kann. Das kann
>> nämlich der STM32 nicht, aber der XMEGA.
>
> Timer zusammenschalten kann man beim STM32 auch. Davon abgesehen sind
> die Timer an sich schon mächtiger, dass man wahrscheinlich in den
> allermeisten Fällen nicht in die Verlegenheit gerät.
Ja, mächtiger sind sie. Ich blicke da auf die Schnelle nicht ganz durch, 
aber sehe keine Möglichkeit wie ein Timer mit einem externen Trigger 
durch einen anderen Timer zurückgesetzt werden kann.
Wie auch immer, so flexibel wie mit dem Event System vom XMEGA geht das 
wohl kaum.

> Ansonsten ist es schon klar, dass es in den Peripherien immer
> Unterschiede geben wird und man sicherlich irgend ein Beispiel findet,
> bei dem man einen Controller nicht so gut einsetzen kann. Das sind dann
> aber meist Ausnahmen, die die Regel bestätigen.
Aber diese Ausnahmen sind eben auch relevant für die Auswahl des 
Mikrocontrollers für eine gegebene Aufgabe.

von Andreas H. (ahz)


Lesenswert?

Antimedial schrieb:
> Schade, ihr habt beide nicht begriffen, was ich damit sagen wollte.
Keiner versteht Dich ? Du Armer ;-)

> Man kann Komplexität verbergen!
Aber will man das ?
Du programmierst doch einen embedded uP nicht aus Jux und Tollerei. Das 
Ding hat eine Aufgabe. Und die ist meist nicht "Schreib 'Hello world' 
auf das TFT oder "lass mal die LED blinken".

Die meisten Probleme kannst Du doch nur noch lösen, wenn Du sie 
verstehst. Und dann, in einer Fehlersituation, fängt man an, sich mit 
der Hardware des uPs zu beschäftigen, die ja vorher so elegant gekapselt 
war ?

Vielleicht doch etwas spät, oder ?

Ein Beispiel ? Hier:

Antimedial schrieb:
> Das klingt eher so, als wäre die Vorgehensweise durch deine vorgegebene
> Lösung schon so in Stein geklopft, dass du die Möglichkeiten des µC gar
> nicht richtig genutzt hast.
Da hast Du vermutlich recht, weil m.n. ja vorher schreibt:

m.n. schrieb:
> Mit dem STM32F407-Discovery hatte ich vor ca. zwei Jahren angefangen. Zu
> meiner großen Freude blinkten da schon LEDs und ich brauchte nichts mehr
> zu programmieren. So einfach ist das :-)

q.e.d.

Viele haben es schon geschrieben und F.Fo. bringts nochmal auf den 
Punkt:

F. Fo schrieb:
> Da sind noch so irre viele Hürden zu nehmen, die ihr Helden längst
> vergessen habt.

Jeder der erst mal für €10-20 mit 8-Bit anfängt wird zu gegebener Zeit 
auch 32-Bit machen, wenn er es braucht.

Aber dann hat er den 8-Bitter schon richtig "ausgeknautscht" und wird 
den 32-Bitter vermutlich wesentlich besser in den Griff kriegen, als die 
"Look mom, only $10, 32Bit for that blinking LED" Anfänger, die nachher 
verzweifelt das vermeintlich kaputte Board tauschen, weil sie 
versehentlich den Bootloader gekillt haben und nicht mal wussten, dass 
sie einen hatten.

Nicht vergessen:

F. Fo schrieb:
> In allererster Linie geht es ums Lernen und Verstehen

... und nicht um die superpreiswerteste Lösung nicht existierender 
Marketingphantasien.

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

Antimedial schrieb:
>
> Ok, du hast es nicht begriffen.

Also entweder verstehen Dich die Leute nicht oder sie haben es nicht 
begriffen.
Seltsames Massenphänomen.

> Carsten Sch. schrieb:
>> Wenn man mit diesem Grundsatz an die Sache ran geht, dann lernt man den
>> Umgang mit der Bibliothek aber nicht die wirklichen Grundlagen. Und was
>> die Lib nicht her gibt, das geht dann nicht - Oder wie?
>
> Und was die Peripherie und der Kern des AVR nicht hergibt, geht halt
> eben auch nicht. Beim STM32 hätte man dann aber die Möglichkeit, tiefer
> zu gehen. Beim AVR ist man aufgeschmissen.

Nee, dann nimmt man eben einen gößeren uP. Den AVR hat man dann ja wohl 
so ausgeknautscht das es eben nicht geht, dabei aber auch gut 
verstanden.

Aber was macht der arme STM32 User in dieser Situation ? Vielleicht doch 
mal auf Registerebene (Bäh), mit ASM (Pfui) die typischen 1-2% 
high-criticals per Hand nachoptimieren ?
Natürlich erst nachdem er einige Wochen versucht hat seinen "STM32 -Das 
Unbekannte aus der Tiefe" wirklich zu verstehen.

Wie schon mehrfach gesagt: LIBS & 32Bit sind toll, wenn man sie 
versteht. Aber erst dann.

Grüße
Andreas

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Stefan Tully, liest du eigentlich noch mit?

von Gut Viehling (Gast)


Lesenswert?

>Stefan Tully, liest du eigentlich noch mit?

Der hat keine Zeit mehr -er programmiert schon den 10. Kontrollertyp.

von Blende22-Mint (Gast)


Lesenswert?

>Stefan Tully, liest du eigentlich noch mit?

Wisst ihr was? ;-) Sadisten seid ihr! Der arme Stefan hat sich längst 
woanders herumgegoogelt! ;-) Wollt ihr wirklich alle Anfänger auf diese 
Art verscheuchen? Die Methodik finde ich nicht gut.
Und der böse Kasten-Sektierer ;-) Naja, er scheint aber grosses Wissen 
zu haben.

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Jeder der erst mal für €10-20 mit 8-Bit anfängt wird zu gegebener Zeit
> auch 32-Bit machen, wenn er es braucht.
Ein AVR braucht mehr finazielle Zuwendung. Erst recht als Anfänger, wenn 
es "out fo the box" sein soll.
>
> Aber dann hat er den 8-Bitter schon richtig "ausgeknautscht" und wird
> den 32-Bitter vermutlich wesentlich besser in den Griff kriegen

Und alle müssen mit einem Nissan Micra als erstes Auto anfangen. Wenn 
der "ausgeknautscht" ist und nicht mehr reicht, darf man vorsichtig nach 
einem Golf fragen. :-(((

Warum traust du anderen nix zu? In ein paar Jahren suchst du hinter den 
AVRs genauso hinterher wie heute bei den 68k. Alles zu seiner Zeit! Und 
jetzt ist die Zeit für 32 Bit, auch für Anfänger.

Oder hast du Angst überholt zu werden? >;->>>

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Blende22-Mint schrieb:
>>Stefan Tully, liest du eigentlich noch mit?
>
> Wisst ihr was? ;-) Sadisten seid ihr! Der arme Stefan hat sich längst
> woanders herumgegoogelt! ;-) Wollt ihr wirklich alle Anfänger auf diese
> Art verscheuchen? Die Methodik finde ich nicht gut.
> Und der böse Kasten-Sektierer ;-) Naja, er scheint aber grosses Wissen
> zu haben.

Netter wäre gewesen, ihn mal zu fragen wo er her ist. Vielleicht
ist jemand ja in der Nähe und kann ihm mal auf die Sprünge helfen.

von Carsten S. (dg3ycs)


Lesenswert?

Future schrieb:
> Andreas H. schrieb:
>> Jeder der erst mal für €10-20 mit 8-Bit anfängt wird zu gegebener Zeit
>> auch 32-Bit machen, wenn er es braucht.
> Ein AVR braucht mehr finazielle Zuwendung. Erst recht als Anfänger, wenn
> es "out fo the box" sein soll.

Ja - hast recht...
Wenn man nichts verbilligt bekommt rechne mal mit 40 Euro für eine AVR 
Erstausstattung. Das ist ja ein Riesen Unterschied.
>>
>> Aber dann hat er den 8-Bitter schon richtig "ausgeknautscht" und wird
>> den 32-Bitter vermutlich wesentlich besser in den Griff kriegen
>
> Und alle müssen mit einem Nissan Micra als erstes Auto anfangen. Wenn
> der "ausgeknautscht" ist und nicht mehr reicht, darf man vorsichtig nach
> einem Golf fragen. :-(((

Nee - Das sind ja alles Fahrzeuge aus der Gruppe der 
"Personenkraftwagen"
Aber bevor man den KFZ Führerschein macht empfiehlt es sich doch 
zumindest eine Zeitlang als Fahrradfahrer am Strassenverkehr 
teilgenommen zu haben. Und bevor du zur CE Prüfung zugelassen wirst 
erwartet man auch das du bereits eine Fahrerlaubniss Klasse B besitzt.
Und es war zumindest lange Zeit so das man bevor man "jedes" Motorrad 
bewegen durfte erst mal ein paar Jahre auf gedrosselten MAschinen 
Erfahrung sammeln musste.
Ach Ja: Zur Krönung ist es ja noch so das wenn du auf einem Auto mit 
hohem "Assistenzgrad", wo dir komplette HAndlungen während der Fahrt 
abgenommen werden, die Fahrprüfung machst, du einen Sperrvermerkt in die 
FE eingetragen bekommst das du Fahrzeuge ohne diese Funktion ebend NICHT 
fahren darfst.
Klassisches Beispiel das Jedermann betreffen könnte ist da die Prüfung 
mit Automatikgetriebe. Diese Sperrvermerke hat man ganz schnell 
eingeführt nach dem die Automatikfahrzeuge bezahlbar wurden und viele 
Fahrschulen als "Luxus" Anboten darauf zu lernen um schneller 
Prüfungsfit zu sein... Im Ergebniss haben diese Automatikfahrschüler 
dann mit Knüppelschaltung plötzlich riesen Probleme verursacht... Jemand 
der aber die Basics gelernt hat, also die Knüppelschaltung beherrscht, 
den traut der Gesetzgeber ohne vorbehalte zu alle Schaltungsvarianten 
(Manuell, Halbautomatik und Automatik) gleichermaßen zu fahren. Deshalb 
musst du Fahrschulen mit Automatikfahrzeugen heute wieder echt suchen.
Und Fahrschulen die neben ein paar ergänzenden Schnupperfahrten mit dem 
als Fahrschulwagen angemeldetem Privatfahrzeug des Fahrschulbesitzers 
auf Wunsch der Automatikfahrzeugbesitzenden Eltern auch noch tatsächlich 
Prüfungen auf diesen Fahrzeugen abnehmen lassen sind wohl die absolute 
Ausnahme.

(Weitere Beispiele dieser Art betreffen zur Zeit wohl nur Personen mit 
Körperbehinderung - aber mal sehen was an Assistenzsystemen noch so 
kommen wird...)
Also der Strassenverkehr ist für dein Argument ein ganz schlechtes 
Beispiel!!! Da verlierst du jeden Vergleich weil gerade da gilt das man 
klein Anfangen sollte.


Aber hier ging es ja nicht um den Strassenverkehr sondern um die 
Architektur zum Einstieg. Und auch wenn man die tatsächliche Komplexität 
jetzt mal aussen vor lässt und wir alle wirklich annehmen würden das der 
SOLIDE Einstieg auf den genannten 32Bit systemen wirklich so einfach wie 
auf dem AVR oder PIC ist, dann bleiben die meiner Meinung nach immer 
noch die schlechtere Wahl, weil die bei den beiden für einen Einsteiger 
WICHTIGSTEN Argumenten trotzdem noch hinten liegen.
Verfügbarkeit von Informationen & Tutorials gepaart mit weiter 
Verbreitung in den Foren bei Fragen - Ausserdem als zweites Argument die 
Verfügbarkeit von µC und Tools für den Gelegenheitsbastler.
 Nun praktisch JEDER Elektronikshop - auch die welche es noch mit echter 
Ladentheke gibt, hat zumindest ein paar AVR und PIC in DIL im Bestand. 
Der Versandhandel eine riesen Latte an bausteinen. Für die STM & Co. 
wird es bei den Hobbytauglichen Versendern zwar auch immer mehr, aber 
keinesfalls in der Vielfalt.

Aber du kannst weiterhin gerne bei deiner Meinung bleiben, ich bleibe 
bei meiner.

Gruß
Carsten

: Bearbeitet durch User
von Carsten S. (dg3ycs)


Lesenswert?

Future schrieb:
> Warum traust du anderen nix zu? In ein paar Jahren suchst du hinter den
> AVRs genauso hinterher wie heute bei den 68k. Alles zu seiner Zeit! Und
> jetzt ist die Zeit für 32 Bit, auch für Anfänger.

Das hat nichts mit Zutrauen zu tun, sondern einfach mit der Frage wie am 
effektivsten ein solides Grundlagenwissen erwirbt. Und da gilt für den 
Anfang nun einmal "Je Einfacher um so besser".
Da es mit einem vernünftigen Grundlagenwissen ein leichtes ist zwischen 
den Controllerfamilien hin und her zu springen "wie ein junges Kitzlein" 
sind damit auch alle weiteren Fragen zur Zukunft einfach obsolet.
Wenn ich in Zukunft mehr Leistung brauche als jetzt nehme ich einfach 
etwas mit mehr Leistung - Und zwar genau DIE FAMILIE die DANN für mich 
am besten geeignet ist. Die es aber jetzt vielleicht noch gar nicht 
gibt.

Sorgen um darum ob ihre Entscheidung auch in fünf Jahren noch richtig 
ist müssen sich nur die Dumpfbacken die heute mit den "tollen Libs" 
lediglich Copy& Paste spielen, sich ganz dolle freuen das es nicht nur 
blinkt sondern auch Töne zu den Bildchen aufm TFT herauskommen, aber von 
den dahinterliegenden Funktionen in Wirklichkeit nichts verstanden 
haben.
Aber in den Foren einen auf Dicke Hose machen wie tolle Fortschrittlich 
die doch sind.

Ob der AVR also in fünf JAhren so selten sein wird wie die 68er heute 
(was ich sehr stark anzweifeln würde) spielt also heute gar keine Rolle 
bei der Einstiegsfrage. Es zählt nur was JETZT in Hobbyistenkreisen 
aktuell ist -und das sind nun einmal ganz klar PIC und AVR.

Gruß
Carsten

von Antimedial (Gast)


Lesenswert?

Andreas H. schrieb:
> Antimedial schrieb:
>> Schade, ihr habt beide nicht begriffen, was ich damit sagen wollte.
> Keiner versteht Dich ? Du Armer ;-)

Ich denke ihr versteht mich schon ganz gut. Das könnt ihr aber nicht 
zugeben, denn dann könntet ihr nicht ständig Eure falschen Argumente 
wiederholen.

Andreas H. schrieb:
>> Man kann Komplexität verbergen!
> Aber will man das ?
> Du programmierst doch einen embedded uP nicht aus Jux und Tollerei. Das
> Ding hat eine Aufgabe. Und die ist meist nicht "Schreib 'Hello world'
> auf das TFT oder "lass mal die LED blinken".

Natürlich will man das! Gerade das TFT ist doch das perfekte Beispiel. 
Dort programmiert man ja nicht die Pixelmatrix direkt, sondern verwendet 
üblicherweise einen Controller. Und meistens nimmt man dann sogar einen 
fertigen Treiber und ein fertiges Grafik-Toolkit.

Ohne Komplexität auf irgendeiner Ebene zu verbergen funktioniert 
heutzutage gar nichts mehr. Die Frage ist nur, auf welcher Ebene packt 
man an. Beim AVR gehen die meisten Anfänger schon lange nicht mehr auf 
Registerebene; die meisten Einsteiger fangen nämlich inzwischen mit dem 
Arduino an.

Und ehrlich gesagt würde es mich fast wundern, wenn es nicht schon die 
ersten Ansätze gibt, die Arduino-Lib auf STM32 zu portieren. Spätestens 
dann spielt es keine Rolle mehr, mit welcher Plattform man anfängt.

Andreas H. schrieb:
> Aber was macht der arme STM32 User in dieser Situation ? Vielleicht doch
> mal auf Registerebene (Bäh), mit ASM (Pfui) die typischen 1-2%
> high-criticals per Hand nachoptimieren ?

Assembler nützt gar nichts. Die Registerebene ist doch genau das, was 
ihr beim AVR vorschlagt. Und beim STM32 ist das jetzt plötzlich "Bäh"? 
Merkwürdig.

von Andreas H. (ahz)


Lesenswert?

Blende22-Mint schrieb:
> Wollt ihr wirklich alle Anfänger auf diese Art verscheuchen?

Ja. Ist humaner als sie frustriert vor ihrem 32-Bit System versauern zu 
lassen

> Die Methodik finde ich nicht gut.
(Dafür gabs sogar mal einen Punkt von mir ;-)

Ich auch nicht.

Andererseits haben wir ja schon viel diskutiert und (hoffentlich) auch 
so, das ein Anfänger sich selber ein Bild machen kann.

Wie er sich entscheidet will ihm sowieso keiner vorschreiben. Eine 
Fehlentscheidung kostet aber nur ~€20 und er merkt schon, wenns nicht 
gut klappt.

Aber dann kennt er die prinzipiellen Alternativen und unterschiedlichen 
Ansichten der Leute, die das schon (mehr oder weniger) durch haben. 
Darum finde ich es auch toll wenn hier Leute posten, die auch gerade 
erst angefangen haben.

Schlimmer wäre es, nur die "EINZIG WAHRE CPU, juhu" (tm) hochzujubeln 
und so zu tun als ob damit alles geht.

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

Joachim Drechsel schrieb:
> Netter wäre gewesen, ihn mal zu fragen wo er her ist. Vielleicht
> ist jemand ja in der Nähe und kann ihm mal auf die Sprünge helfen.

Wäre das nicht etwas verfrüht ? Er hat ja vermutlich bis jetzt weder 
Teile noch ein Problem (Ausser uns ;-)

Grüße
Andreas

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Schlimmer wäre es, nur die "EINZIG WAHRE CPU, juhu" (tm) hochzujubeln
> und so zu tun als ob damit alles geht.

Aber das treibst du doch hier seit Tagen. :-(((


Andreas H. schrieb:
> Er hat ja vermutlich bis jetzt weder
> Teile noch ein Problem

So ein Discovery Board oder ein Launchpad passt in die Handytasche. ;-)


Hier wird es auf den Punkt gebracht:
Antimedial schrieb:
> Um es noch einmal klarzustellen: Ich will hier keinem vom AVR zum
> Einstieg abraten, ich bin nur dagegen, dass man 32-Bit-µC von vornerein
> als zu komplex abtut.
Bitte wieder 3mal lesen damit es sitzt. ;-)))

von Andreas H. (ahz)


Lesenswert?

Carsten Sch. schrieb:
> Wenn man nichts verbilligt bekommt rechne mal mit 40 Euro für eine AVR
> Erstausstattung. Das ist ja ein Riesen Unterschied.

Verschwender ;-)
Ansonsten bin ich, wie meistens, Deiner Meinung :-D

Antimedial schrieb:
> Beim AVR gehen die meisten Anfänger schon lange nicht mehr auf
> Registerebene; die meisten Einsteiger fangen nämlich inzwischen mit dem
> Arduino an.
Und dann, wenn es nicht mehr reicht und sie schon etwas mehr Vertrauen 
in ihre Fähigkeiten haben, schauen sie mal, was sich hinter den dicken 
Arduino-Libs verbirgt und lernen auch wie der (relativ übersichtliche) 
uP funktioniert.

Ja, finde ich völlig ok. Jeder kann sich seinen Lernfortschritt 
praktisch selber vorgeben ohne plötzlich erst mal rauskriegen zu müssen, 
was eigentlich "vectorised interrupt tables" sind, die auch noch durch 
die Gegend geschoben werden.

> Assembler nützt gar nichts. Die Registerebene ist doch genau das, was
> ihr beim AVR vorschlagt. Und beim STM32 ist das jetzt plötzlich "Bäh"?
> Merkwürdig.

Wenn Du den uP kennst, dann schreckt Dich ASM ja nicht wirklich. Das 
"Bäh" habe ich eher den Leuten "untergeschoben", die sowas vorher noch 
nie gemacht haben und dann auf Deinem M3 damit anfangen sollen.

Grüße
Andreas

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

+20 € für ein STM32F4DISCOVERY (Debugger ist schon dabei) und dann kann 
man bei beiden (AVR/STM32) mal mit einem BlinkLED sich versuchen und da 
merkt man schnell was einem besser gefällt. (ATMEL Studio/Coocox)

von Antimedial (Gast)


Lesenswert?

Andreas H. schrieb:
> Und dann, wenn es nicht mehr reicht und sie schon etwas mehr Vertrauen
> in ihre Fähigkeiten haben, schauen sie mal, was sich hinter den dicken
> Arduino-Libs verbirgt und lernen auch wie der (relativ übersichtliche)
> uP funktioniert.

Eben, und das gleiche funktioniert wunderbar auf einem STM32 mit den 
Peripheral Libs.

Andreas H. schrieb:
> Wenn Du den uP kennst, dann schreckt Dich ASM ja nicht wirklich. Das
> "Bäh" habe ich eher den Leuten "untergeschoben", die sowas vorher noch
> nie gemacht haben und dann auf Deinem M3 damit anfangen sollen.

Sie sollen ja eben nicht mit Assembler anfangen.

Immer schön alle Argumente so lang rum drehen, bis sie passen, nicht 
wahr?

von Klaus I. (klauspi)


Lesenswert?

Andreas H. schrieb:
> Blende22-Mint schrieb:
>> Wollt ihr wirklich alle Anfänger auf diese Art verscheuchen?
>
> Ja. Ist humaner als sie frustriert vor ihrem 32-Bit System versauern zu
> lassen
>
>> Die Methodik finde ich nicht gut.
> (Dafür gabs sogar mal einen Punkt von mir ;-)
>
> Ich auch nicht.
>
> Andererseits haben wir ja schon viel diskutiert und (hoffentlich) auch
> so, das ein Anfänger sich selber ein Bild machen kann.

Mit Verlaub gesagt, habt Ihr das ganz sicher nicht getan.

Habt ihr jetzt einen kompletten Sockenschuß? Da komuniziert ein TO mal 
halbwegs vernünftig seine Bedürfnisse und was macht ihr daraus?

Bis zu diesem Punkt habe ich ja nicht mehr erwartet, aber man soll doch 
dieses Abdriften noch bitte nicht noch glorifizieren.

Ich werde hier sicherlich nicht mehr versuchen etwas beizutragen. Und 
was ist eigentlich euer Problem? Das Thema ist tot!? Toll, jetzt pinkeln 
wir nocheinmal auf das Grab!?

Das einzige sinnvolle was ihr hier noch leisten könnt, ist eine 
Abstimmung bei Beitrag "Wahl des Troll-Themas 2013"
.

Fertich!

Nachtrag: Es ist ja nicht so, dass schon einige(!) Leute freundlich und 
dezent darauf hingewiesen haben...

: Bearbeitet durch User
von Andreas H. (ahz)


Lesenswert?

Future schrieb:
>
> Aber das treibst du doch hier seit Tagen. :-(((
>

Nö. Eigentlich habe ich einem Anfänger nur eine (in meinen Augen) 
einfache Einstiegsmöglichkeit genannt.

>
> Hier wird es auf den Punkt gebracht:
> Antimedial schrieb:
>> Um es noch einmal klarzustellen: Ich will hier keinem vom AVR zum
>> Einstieg abraten, ich bin nur dagegen, dass man 32-Bit-µC von vornerein
>> als zu komplex abtut.

Und das sehe ich eben völlig anders. INSBESONDERE für Anfänger.

Das 32-Bitter eine tolle Sache sind und man die auch super benutzen kann 
will ja auch garnicht bestreiten. Aber doch erst dann, wenn man sie auch 
handhaben kann. Und zwar (wie immer) wenn etwas schief geht.

Es ist doch nichts schlimmer als wenn jemand ein Projekt in die Ecke 
schmeisst, weil er es, selbst mit Hilfe, nicht hinbekommt.

Gerade am Anfang sind doch auch noch so kleine Schritte enorm schwierig 
und kompliziert. Oft ist ja schon das Aufsetzen der Umgebung ein 
Problem.

Je komplexer ein System, desto mehr potentielle Fehlermöglichkeiten hat 
es. Und ich habe es einfach zu oft erlebt, das man sich (nicht nur) als 
Anfänger an völlig trivialen Sachen aufrauchen kann.

Bei den heute "üblichen Verdächtigen" (also PIC & AVR) kann das Forum 
oft noch helfen, weil da Leute sitzen, die mit den Dingern genug 
Erfahrung haben. Es gibt tonnenweise gute Tutorials und Beispielcode.

Und die kleinen CPUs sind noch extrem überschaubar, auch wenn man mal 
einen vermeintlich unmöglichen Fehler suchen muss, der spätestens dann 
auftritt wenn man mutig das erste mal mit zwei (!) IRQs arbeitet im 
selbstgebastelten Programm arbeitet. Dann ist man ganz schnell auf ASM 
Ebene und schaut sich an, was im Prozessor eigentlich passiert.

Wegen meiner seht das alles als überholte Technik von gestern an aber 
für Anfänger ist es mehr als kompliziert.

Als Anfänger glauben sie natürlich den "Experten".
Und wenn die alle erzählen, dass es mit 32 Bit ja soo einfach ist, dann 
probieren sie es auch, wollen natürlich auch ganz schnell "so tolle 
Sachen" machen und sind dann schnell überfordert und danach extrem 
frustriert, wenn auch nur irgendwas ein bisschen schiefgeht.

Die Leute wollen es doch lernen. Also gib ihnen doch wenigstens eine 
faire Chance.

Und darum bin ich so am "rummeckern".

Grüße
Andreas

von spess53 (Gast)


Lesenswert?

Hi

>Immer schön alle Argumente so lang rum drehen, bis sie passen, nicht
>wahr?

Mal nachgeschaut: Im Dezember gab es, wenn ich mich nicht verzählt habe, 
9 Anfragen zu ARM die nicht beantwortet wurden, bei AVR sieben. 
Allerdings bei etwa der dreifachen Anzahl Fragen zu AVR. Macht ein 
Verhältnis 7:27 nicht beantwortenter Fragen zu Gunsten AVR.

Bei den restlichen Treads sind ganz andere unterwegs die helfen können 
als die zwei ARM-Protagonisten hier.

MfG Spess

von Future (Gast)


Lesenswert?

Andreas H. schrieb:
> Nö. Eigentlich habe ich einem Anfänger nur eine (in meinen Augen)
> einfache Einstiegsmöglichkeit genannt.

Nein, du willst ihm (d)eine Einstiegsmöglichkeit diktieren!


spess53 schrieb:
> als die zwei ARM-Protagonisten

Auch du solltest mehrfach lesen, damit es sackt:
Future schrieb:
> Hier wird es auf den Punkt gebracht:
> Antimedial schrieb:
>> Um es noch einmal klarzustellen: Ich will hier keinem vom AVR zum
>> Einstieg abraten, ich bin nur dagegen, dass man 32-Bit-µC von vornerein
>> als zu komplex abtut.
> Bitte wieder 3mal lesen damit es sitzt. ;-)))

von F. F. (foldi)


Lesenswert?

Also um dem mal einen Rahmen zu geben.
Ich benutze im Moment bevorzugt den Tiny10, Tiny13 und Mega328

Nur mal ein schönes Beispiel was so ein Tiny13 kann:
http://www.youtube.com/watch?v=BDuH56TEc1Q

von Andreas H. (ahz)


Lesenswert?

Klaus I. schrieb:
>
> Habt ihr jetzt einen kompletten Sockenschuß? Da komuniziert ein TO mal
> halbwegs vernünftig seine Bedürfnisse und was macht ihr daraus?
>

Hier "zanken" sich zwei Fraktionen darüber, ob es für Anfänger 
sinnvoller ist mit 8-Bit oder 32-Bit Prozessoren anzufangen. Und ?

> Bis zu diesem Punkt habe ich ja nicht mehr erwartet, aber man soll doch
> dieses Abdriften noch bitte nicht noch glorifizieren.
>

Welches Abdriften ? Der TO fragte womit er einsteigen sollte und zwei 
Hauptgruppen mit sehr unterschiedlichen Meinungen haben ihm geantwortet.

Daraus hat sich eine (zugegebenermassen) hitzige aber (finde ich 
zumindest) auch witzige und interessante Diskussion entwickelt. Ich 
kannte z.B. den oben erwähnten LPC800 noch garnicht und nebenbei gabs 
auch mal einen kleinen Ausflug zum Thema "Hardwaredebugger: Sinn & 
Anwendung"

> Das Thema ist tot!? Toll, jetzt pinkeln wir nocheinmal auf das Grab!?

Für einen "toten Thread" erzeugt er aber noch interessante 
Seiteneffekte:

spess53 schrieb:
> Mal nachgeschaut: Im Dezember gab es, wenn ich mich nicht verzählt habe,
> 9 Anfragen zu ARM die nicht beantwortet wurden, bei AVR sieben.
> Allerdings bei etwa der dreifachen Anzahl Fragen zu AVR. Macht ein
> Verhältnis 7:27 nicht beantwortenter Fragen zu Gunsten AVR.


Klaus I. schrieb:
>
> Das einzige sinnvolle was ihr hier noch leisten könnt, ist eine
> Abstimmung bei Beitrag "Wahl des Troll-Themas 2013"

DAS ist für Dich ein Troll-Thread ?

Ich dachte immer, da beschimpfen & provizoeren sich nur Leute, die sich 
eigentlich gegenseitig für Idi*** halten.

Also ich halte weder Future noch Antimedial noch Carsten Sch. oder 
irgend einen der anderen Poster dafür.
Im Gegenteil. Da ist viel KnowHow dabei. Ich für meinen Teil finde viele 
Inputs nachdenkenswert und tue das auch.

Das wir uns hier auch gelegentlich mal "pieksen" finde ich persönlich 
auch nicht schlimm. Ein bischen Spas muss ja auch mal sein ;-)

Das es teilweise etwas vorsichtig "um die Ecke" formuliert und dadurch 
etwas "länglicher" ist, ist doch logisch.
Viel Wissen kommt doch auch von  Projekten, die auf Arbeit entstanden 
sind. Entschuldige, dass man da nicht mal eben das exakte Beispiel auf 
den Tisch haut und sich danach die Kündigung wegen Verstoß gegen 
irgendwelche NDAs abholt.

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

spess53 schrieb:
> Mal nachgeschaut: Im Dezember gab es, wenn ich mich nicht verzählt habe,
> 9 Anfragen zu ARM die nicht beantwortet wurden, bei AVR sieben.
> Allerdings bei etwa der dreifachen Anzahl Fragen zu AVR. Macht ein
> Verhältnis 7:27 nicht beantwortenter Fragen zu Gunsten AVR.

Wow, da hast Du Dir ja viel Arbeit gemacht. Vielen Dank :-)

Ich muss zugeben, dass ich es mir nicht so krass vorgestellt hatte.

Grüße
Andreas

von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Andreas H. schrieb:
>> Nö. Eigentlich habe ich einem Anfänger nur eine (in meinen Augen)
>> einfache Einstiegsmöglichkeit genannt.
>
> Nein, du willst ihm (d)eine Einstiegsmöglichkeit diktieren!

Und Du willst stellst einen Lehrling am ersten Tag an die Drehbank statt 
ihm erst mal feilen beizubringen.

Ich will einen Anfänger nur nicht ins "offene Messer" rennen lassen.
Ich habe das in den letzen 20 Jahren schon so oft live miterlebt und 
auch oft mitgeholfen, die Sachen noch zu kitten. Und 32-Bitter können 
schon ziemlich verzwickte Fehlerbilder haben, die ohne entsprechendes 
Equip kaum noch zu finden sind.

Grüße
Andreas

P.S: Nur für die Akten: Ich rate Deine Beiträge nicht runter und habe da 
auch wenig Verständnis für. (Nur weil uns hier ja schon trolling 
vorgeworfen wird ;-)
A.

von F. F. (foldi)


Lesenswert?

Wisst ihr, ich lerne das ja auch noch und habe leider nicht immer so 
viel Zeit wie ich gern hätte. Das nächste halbe Jahr sogar gar keine 
Zeit, weil ich da jeden Abend was anderes lernen muss und bis in den Mai 
hinein, bis die Prüfung rum ist.
Aber mein Ziel ist es Systeme zu bauen, die mit mehreren mehr oder 
weniger autonomen, kleinen Mikrocontrollern arbeiten.
In meiner beruflichen Praxis habe ich mit vielen verschiedenen 
Steuerungen zu tun und ich will vielleicht mal ein ganz anderes Konzept 
erarbeiten.
Dabei wird es eher auf die Programmierung und das Zusammenspiel der 
einzelnen µC's ankommen, als auf die Geschwindigkeit und viele Pins.
Ich finde auch Hardware viel besser die einfach nur gut funktioniert, 
statt irgendwas auf einem Display anzuzeigen.
Ich bin sogar der festen Überzeugung, dass es mehr in diese Richtung 
gehen wird. Sicher nicht so klein wie ich das machen will, aber die 
Tendenz wird da hin gehen.
Große Reiche sind an der schlechten Kontrollierbarkeit zerbrochen und 
ähnlich wird es in der digitalen Welt auch werden.
Da kommt es auf geschickte Ausnutzung von kleinen, aber zahlreichen 
Ressourcen an.

von Rührlöffel (Gast)


Lesenswert?

cyblord ---- schrieb:
> C - Industriestandard. Nutzen die wirklich coolen Jungs die was drauf
> haben (z.B. ich)

Ui, da hat Mutti wohl beim Mittagstisch dem Sohnemann wieder ein Lob 
verteilt :3

von Andreas H. (ahz)


Lesenswert?

F. Fo schrieb:
>
> Nur mal ein schönes Beispiel was so ein Tiny13 kann:
> Youtube-Video "Bicycle Helmet with ATTiny13 controller"

Das ist ja ein geniales Video. Extrem sehenswert :-)

Beim "Stop" wird aber nur die Amplitude ausgewertet oder ist das echte 
Voice detection ? Ich traue dem ATTiny13 ja viel zu aber das würde mich 
wirklich überraschen.

>
> Also um dem mal einen Rahmen zu geben.
> Ich benutze im Moment bevorzugt den Tiny10, Tiny13 und Mega328

Nur mal aus Neugier: Warum nimmst Du keine ATTiny45/85 ?

Grüße
Andreas

von Future (Gast)


Lesenswert?

F. Fo schrieb:
> Also um dem mal einen Rahmen zu geben.
> Ich benutze im Moment bevorzugt den Tiny10, Tiny13 und Mega328

Und wie gehört das zum Thema? Was meinst du, wieviele verschiedene 
Controller es gibt. ;-)

Andreas H. schrieb:
> Hier "zanken" sich

Du nimmst das persönlich. Daher dein Ehrgeiz. :-(((


Mich würde interessieren, was sich der TO untern Baum gelegt hat.

Klaus I. schrieb:
> Das einzige sinnvolle was ihr hier noch leisten könnt, ist eine
> Abstimmung bei Beitrag "Wahl des Troll-Themas 2013"

Stimmt! http://www.youtube.com/watch?v=tAg-Il-nnGY

von Andreas H. (ahz)


Lesenswert?

F. Fo schrieb:

> Aber mein Ziel ist es Systeme zu bauen, die mit mehreren mehr oder
> weniger autonomen, kleinen Mikrocontrollern arbeiten.
Das ist ein total faszinierendes Thema. Google mal nach "swarm 
intelligence" oder "Kollektive Intelligenz"

> In meiner beruflichen Praxis habe ich mit vielen verschiedenen
> Steuerungen zu tun und ich will vielleicht mal ein ganz anderes Konzept
> erarbeiten.
> Dabei wird es eher auf die Programmierung und das Zusammenspiel der
> einzelnen µC's ankommen, als auf die Geschwindigkeit und viele Pins.
> Ich finde auch Hardware viel besser die einfach nur gut funktioniert,
> statt irgendwas auf einem Display anzuzeigen.
> Ich bin sogar der festen Überzeugung, dass es mehr in diese Richtung
> gehen wird. Sicher nicht so klein wie ich das machen will, aber die
> Tendenz wird da hin gehen.

Ja, ich sehe da auch einiges an Potential. Zum Beispiel kann man die 
Ausfallsicherheit damit massiv erhöhen oder auch Kommunikationskanäle 
zuverlässiger machen.

> Da kommt es auf geschickte Ausnutzung von kleinen, aber zahlreichen
> Ressourcen an.
Jup. Insbesondere müssen die Einheiten nicht mal besnders "clever" sein, 
wenn man den Swarm-Intelligence Artikeln im Netz so glaubt.

Aber das wird jetz leider doch extrem off-topic, oder ?
Wenn Du loslegst wäre ich aber sehr gespannt, wie das klappt. Am besten 
einen Thread dazu aufmachen und bitte PM an mich (ich übersehe immer 
soviele Threads :/ )

Grüße
Andreas

von F. F. (foldi)


Lesenswert?

Andreas H. schrieb:
> Nur mal aus Neugier: Warum nimmst Du keine ATTiny45/85 ?

Teuer und der Speicher reichte bis jetzt für die wenigen Sachen die die 
Dinger machen müssen.
Nur ein Beispiel noch. Für meinen 190ziger habe ich ein Tester gebaut - 
zuvor analog, aber die Led war dann immer an (hätte auch einen 555 
nehmen können) -
da hab ich nur den ISR(INT0_vect) gebraucht. Wozu also den größeren 
nehmen?

Wenn ich soweit bin (ich lerne das ja noch!), dass ich da nichts mehr 
raus quetschen kann, dann fange ich mit größeren µC's an oder wenn es 
die Aufgabenstellung erfordert.

: Bearbeitet durch User
von Andreas H. (ahz)


Lesenswert?

Future schrieb:
> Und wie gehört das zum Thema? Was meinst du, wieviele verschiedene
> Controller es gibt. ;-)

Passt doch gut ins Bild. 8-Bit, weil genug Leistung und gut handhabbar 
:-)

Vielleicht sollten wir mal eine Umfrage machen, wieviele Leute wirklich 
von 8-Bit PIC/AVR auf Cortexe umgestiegen sind. Anscheinend sind die 
Hürden ja doch höher als Du immer vermutest.

Future schrieb:
> Andreas H. schrieb:
>> Hier "zanken" sich
>
> Du nimmst das persönlich. Daher dein Ehrgeiz. :-(((
Nene, keine Sorge. Ich nehm das nicht persönlich und mein Ehrgeiz ist 
momentan ganz woanders.
Darum kommen meine Posts ja auch immer on-block. Da hat das andere Thema 
gerade Pause :-)

>
> Mich würde interessieren, was sich der TO untern Baum gelegt hat.
€1 auf Arduino :-)

>
> Klaus I. schrieb:
>> Das einzige sinnvolle was ihr hier noch leisten könnt, ist eine
>> Abstimmung bei Beitrag "Wahl des Troll-Themas 2013"
>
> Stimmt! Youtube-Video "Siblings (Jo, wir schaffen das!)"
Hihi, auch nicht schlecht.

Grüße
Andreas

von Cyblord -. (cyblord)


Lesenswert?

F. Fo schrieb:
> Andreas H. schrieb:
>> Nur mal aus Neugier: Warum nimmst Du keine ATTiny45/85 ?
>
> Teuer

Der T85 kostet 1,15 bei reichelt. Der tiny13 0,99. Also komm schon ;-)

Ich würde auch keine 13er mehr nehmen für neue Projekte. Der 85 bietet 
einfach einiges mehr und hat keine Nachteile zum 13er.

Dafür 8x mehr Flash und 8x mehr RAM! Wie kann man da zum t13 raten?

gruß cyblord

: Bearbeitet durch User
von Andreas H. (ahz)


Lesenswert?

F. Fo schrieb:
> Teuer und der Speicher reichte bis jetzt für die wenigen Sachen die die
> Dinger machen müssen.
Ups. Ich hatte Die immer preislich etwa gleich im Hinterkopf. Aber der 
ATTiny hat so extrem wenig RAM/ROM. Ich neige da in der Zwischenzeit 
leider öfter zur Verschwendung :/

> Nur ein Beispiel noch. Für meinen 190ziger habe ich ein Tester gebaut -
> zuvor analog, aber die Led war dann immer an (hätte auch einen 555
> nehmen können) -
> da hab ich nur den ISR(INT0_vect) gebraucht.
Was machst Du da, wenn ich fragen darf ? Motor ist immer so übel 
verdreckt (also elektrisch natürlich).

Grüße
Andreas

von F. F. (foldi)


Lesenswert?

cyblord ---- schrieb:
> F. Fo schrieb:
>> Andreas H. schrieb:
>>> Nur mal aus Neugier: Warum nimmst Du keine ATTiny45/85 ?
>>
>> Teuer
>
> Der T85 kostet 1,15 bei reichelt. Der tiny13 0,99. Also komm schon ;-)
>
> Ich würde auch keine 13er mehr nehmen für neue Projekte. Der 85 bietet
> einfach einiges mehr und hat keine Nachteile zum 13er.
>
> Dafür 8x mehr Flash und 8x mehr RAM! Wie kann man da zum t13 raten?
>
> gruß cyblord

Hallo mein lieber Cyblord!

Noch mal am Rande und zu dir persönlich: Du hattest so recht schnell zu 
C zu finden. Das ist ja so geil. Mal eben das Programm auf einen anderen 
µC, mit kleinen Anpassungen und schon läuft es da auch.

Der Tiny13 kostet beim Markus 60 cent, der T85 90 cent und der Tiny10 
nur 50 cent.
Aber es geht gar nicht darum was die kosten. Ich will erstmal an Grenzen 
stoßen und dann will ich sehen, ob ich diese Grenzen noch verschieben 
kann.
Das soll alles dem Lernen dienen.

Weißt du, vor zwei Jahren habe ich noch Geräte weggeworfen, wenn sie 
kaputt waren oder nicht den Anforderungen entsprachen, heute fange ich 
an sie immer häufiger zu reparieren oder auf meine Bedürfnisse 
anzupassen.
Ich für mich und ganz ohne Hilfe vor Ort, bin schon recht weit gekommen, 
in der für mich relativ kurzen Zeit.
Gestern noch, da habe ich den HDMI Umschalter mit nem Phototransistor 
fernbedienbar gemacht; eben zwischendurch, weil mich das Teil nervte. 
Vor zwei Jahren hätte ich den Phototransistor für ne Led gehalten. und 
schon gar nicht gewusst was und wie ich da was mit machen kann.

von Cyblord -. (cyblord)


Lesenswert?

F. Fo schrieb:

> Noch mal am Rande und zu dir persönlich: Du hattest so recht schnell zu
> C zu finden. Das ist ja so geil. Mal eben das Programm auf einen anderen
> µC, mit kleinen Anpassungen und schon läuft es da auch.
Freut mich sehr dass dir C zusagt.

> Aber es geht gar nicht darum was die kosten. Ich will erstmal an Grenzen
> stoßen und dann will ich sehen, ob ich diese Grenzen noch verschieben
> kann.
> Das soll alles dem Lernen dienen.

Ja sicher ok, aber schau doch mal ins DB was der T85 so alles unter der 
Haube hat. Das sind oft kleine unscheinbare Dinge, wie z.B. der diff. 
ADC mit 20x Gain, oder die PCINTs. Mehr Platz ist einfach durch nichts 
zu ersetzen, außer durch noch mehr Platz.

Mit 1kb Flash würde ich aktuell bei keinem Projekt auskommen. Egal ob 
kleiner M-Link Sensor oder sonst was. Kommt halt drauf an was man macht.
Aber mit dem T85 kann man einfach schon echt viel Programm unterbringen 
und so auch komplexere Dinge bauen ohne mit jedem Byte zu geizen.

Und der Umstieg ist einfach, da der T85 Pinkompatibel zum T13 ist, und 
auch sonst das meiste einfach 1:1 übernommen werden kann.

gruß cyblord

: Bearbeitet durch User
von F. F. (foldi)


Lesenswert?

cyblord ---- schrieb:

> Aber mit dem T85 kann man einfach schon echt viel Programm unterbringen
> und so auch komplexere Dinge bauen ohne mit jedem Byte zu geizen.
>
> Und der Umstieg ist einfach, da der T85 Pinkompatibel zum T13 ist, und
> auch sonst das meiste einfach 1:1 übernommen werden kann.
>
> gruß cyblord

Ja ich weiß, und wenn es knapp wird -keine Angst, hab beide hier- dann 
nehme ich den ganz sicher.
Dass er sich außer im Platz unterscheidet, das wusste ich nicht.

Aber noch ein Video was mit nem Tiny13 so geht:
http://www.youtube.com/watch?v=EZfwxmSBr3s

Ich finde das ganz beachtlich.

von F. F. (foldi)


Lesenswert?

Andreas H. schrieb:
> "swarm
> intelligence" oder "Kollektive Intelligenz"

Das brachte mich dazu einen jahrelangen Gedanken zu konkretisieren.

... aber bis dahin ist es noch ein langer Weg.

Oft war ich mit meinen Ideen der Zeit voraus und ich glaube auch da bin 
ich ein wenig voraus, zumindest was die Grundidee angeht.

von Irgendwer (Gast)


Lesenswert?

Echt krass, die Reaktionen hier, auf eine solche Fragestellung.
Wer sich die Mühe macht hier zu lesen, wird wohl feststellen das es 
nicht die perfekte Auswahl für Anfänger gibt, sondern verschiedene 
Möglichkeiten.

Mein erster Mikrocontroller war ein Arduino Board, man befolgt da ein 
paar Anweisungen in einem Tutorial und es blinkt.
Es gab keinen wirklichen Anreiz etwas wirklich zu lernen. Man bekommt 
den Eindruck, dass man bei Bedarf nur das entsprechende Tutorial im 
Internet suchen müsse.

Anders war es, als ich ohne das Arduino Board mich mit AVR 
Mikrokontrollern beschäftigte. Ich habe direkt mit Assembler angefangen, 
aber auch gleichzeitig immer geschaut wie es in C ausschaut.
Also da hatte ich das Gefühl ich könne und müsse etwas lernen und das 
was man lernt sind elementare Grundlagen. Wenn man sie aber beherrscht 
muss man keine Tutorials mehr suchen sondern weiß wie man etwas 
realisieren kann.

Dennoch haben Arduino Boards ihre Existenzberechtigung denke ich mir. 
Sonst gäbe es die riesige Arduino Community nicht. Die Leute nutzen es, 
spielen damit herum. Es macht viele auf die Welt der Mikrocontroller 
Entwicklung aufmerksam.


8 Bit oder 32 Bit? Klingt wie nach einer Frage ob C/C++ oder Java besser 
geeignet ist zum erlernen einer Programmiersprache, oder überhaupt 
welche die beste Programmiersprache sei.

Über solche Fragestellungen kann man doch nur schmunzeln. Wenn für eine 
bestimmte Aufgabe ein 8 Bit ATtiny völlig ausreichend ist, werde ich 
kein 32 Bit Chip nutzen.
Auch wenn man es als Hobby betreibt, kann es nicht schaden etwas 
wirtschaftlich zu denken. In der Produktentwicklung soll ein Chip nicht 
unnötig mehr Platz oder Strom verbrauchen und auch nicht unnötig zu viel 
kosten, man wählt einfach für die Anforderung den idealen Chip aus.

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.