Hallo,
meine Mutter (60J) möchte auch mal etwas mit Mikrocontroller machen, vor
allem weil sie bei immer mehr Bastelprojekt auf diese stößt. Sie kommt
noch aus der Zeit der Analogelektronik und Funkamateurtechnik, 70er bis
90er Jahre, wo es sowas überhaupt nicht gab. Dort gibt/gab es nur
diskrete Bauelemente.
Ich merke, dass ich didaktisch äußerst schlecht bin. Daher ist meine
Frage, welches >aktuelle< Buch ihr empfehlen könnt, indem z.B. ein
Atmega8, Atmega328 und C von grund auf erklärt wird? Und auch so erklärt
wird, dass ein Absoluter Anfänger es verstehen kann.
Sie schafft es derzeit über Atmel Studio den Controller zu flashen und
in ihr Bastelobjekt zu integrieren. Selber programmieren und dann auch
noch in C geht gar nicht.
Über Empfehlungen würde ich mich freuen, z.B. was euch geholfen hat.
Ernst schrieb:> aus der Zeit der Analogelektronik und Funkamateurtechnik, 70er bis> 90er Jahre, wo es sowas überhaupt nicht gab. Dort gibt/gab es nur> diskrete Bauelemente.
Das ist nicht nur falsch, sondern auch ein Riesen Blödsinn.
Ernst schrieb:> Daher ist meine> Frage, welches >aktuelle< Buch ihr empfehlen könnt, indem z.B. ein> Atmega8, Atmega328 und C von grund auf erklärt wird?
Ohne Grundkenntnisse in der Digitaltechnik wir das nichts.
Harald W. schrieb:> Ohne Grundkenntnisse in der Digitaltechnik wir das nichts.
Auch MIT diesen Grundkenntnissen wird das mit C nichts werden. Diese
Sprache ist so unlogisch und verquer, daß die Mutter das Buch nach einer
Stunde gegen die Wand feuert.
Vorschlag: Kaufe das Buch mit der ISBN 978-3-8391-8430-1
Stefanus F. verweist immer mal wieder auf sein Tutorial. Fängt sehr bei
den Grundlagen der Elektrotechnik an, aber vielleicht kann sie damit
das, was sie noch nicht weiß, entnehmen.
http://stefanfrings.de/mikrocontroller_buch/index.html
Ansonsten, bei ein paar Grundkenntnissen in C empfehle ich auch das
Tutorial des Forums.
DenzingInDeMuhnleid schrieb:> Vorschlag: Kaufe das Buch mit der ISBN 978-3-8391-8430-1silsi schrieb:> ch kann das Buch mit der ISBN-Nummer 978-3-6456-5126-4 empfehlen!
Vielen Dank schonmal! Schaue ich mir mal an. Alles andere ignoriere ich
mal ;).
HildeK schrieb:> Stefanus F. verweist immer mal wieder auf sein Tutorial. Fängt sehr bei> den Grundlagen der Elektrotechnik an, aber vielleicht kann sie damit> das, was sie noch nicht weiß, entnehmen.> http://stefanfrings.de/mikrocontroller_buch/index.html
Naja, besser als nix.
> Ansonsten, bei ein paar Grundkenntnissen in C empfehle ich auch das> Tutorial des Forums.
"Selber programmieren und dann auch noch in C geht gar nicht."
Im Tutorial lernt man kein C sondern bestenfalls die Anwendung von C auf
Mikrocontrollern.
Arduino ist in aller Munde und massenhaft verbreitet. Wenn gleich die
Tutorials auf arduino.cc auch eher unterdurchschnittlich sind, ist
Arduino ein passabler Einstieg. Da hat man erstmal schnell ein paar
Erfolgserlebnisse, wenn ein paar LEDs blinken und ein Hello World auf
dem Terminalprogramm erscheint.
HildeK schrieb:> Stefanus F. verweist immer mal wieder auf sein Tutorial
Hat das eigentlich mal jemand korrekturgelesen? Ich bin nur bis ca. S.
60 gekommen und war zu der Ansicht gekommen, daß da noch ein paar
Iterationsschritte im Lektorat notwendig sind, bevor man es
weiterempfehlen kann.
Zum Start ein gutes Buch kann ich nicht empfehlen. Ich habe damals mit
dem Schwabl-Schmidt einen ganz guten Einstieg bekommen, aber das ist mit
dem ATmega 16 doch etwas veraltet.
Edit: Korrektur! Der Schwabl-Schmidt war völlig unlesbar. Günter Schmitt
"Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie:
Programmierung in Assembler und C - Schaltungen und Anwendungen" war das
gute Buch.
Schau dir mal Mikroe.com an.
Dort gibt es einen super Pascal Compiler, mit vielen Beispielen und
Libs.
Damit macht der Einsteig Spaß
Mit etlichen Modulen /Platinen etc pp..alles passend.
Wie Arduino nur besser, da kein Arduino...
Und falls es später doch mal C werden sol, bekommt man ebenfalls eine
Liefetime Version für C dort.
Also ein mal kaufen und lebenslang nutzen
Walter T. schrieb:> daß da noch ein paar Iterationsschritte im Lektorat notwendig sind
Wenn es denn eins gäbe. Bedenke, dass das Buch nicht kommerziell ist.
Ich freue mich über jedes Konstruktive Feedback.
Stefanus F. schrieb:> Wenn es denn eins gäbe.
Insgesamt finde ich den Text nicht so schlecht, daß sich ein
Korrekturaufwand erst gar nicht lohnen würde, aber soetwas frisst auf
allen Seiten viel Zeit. Btdt.
Ich schlafe mal über Nacht drüber, ob ich mich berufen fühle, eine
Korrekturschleife anzustoßen. Ich bin ja eher fachfremd.
Wenn Du magst, kannst Du natürlich auch einfach mal einen entsprechenden
Forenthread anfangen (auf die Gefahr, daß das ein Trollmagnet wird).
DenzingInDeMuhnleid schrieb:> Harald W. schrieb:>>> Ohne Grundkenntnisse in der Digitaltechnik wir das nichts.>> Auch MIT diesen Grundkenntnissen wird das mit C nichts werden. Diese> Sprache ist so unlogisch und verquer, daß die Mutter das Buch nach einer> Stunde gegen die Wand feuert.>> Vorschlag: Kaufe das Buch mit der ISBN 978-3-8391-8430-1
BASCOM ist schön und gut, für absolute Anfänger auch gar nicht schlecht,
aber leider eine Insellösung.
Nimm: 9783732358540
Thomas G. schrieb:> DenzingInDeMuhnleid schrieb:>> Harald W. schrieb:>>>>> Ohne Grundkenntnisse in der Digitaltechnik wir das nichts.>>>> Auch MIT diesen Grundkenntnissen wird das mit C nichts werden. Diese>> Sprache ist so unlogisch und verquer, daß die Mutter das Buch nach einer>> Stunde gegen die Wand feuert.>>>> Vorschlag: Kaufe das Buch mit der ISBN 978-3-8391-8430-1>> BASCOM ist schön und gut, für absolute Anfänger auch gar nicht schlecht,> aber leider eine Insellösung.>> Nimm: 9783732358540
Moin,
Ich programmiere seit fast 20 Jahren in Bascom (auch beruflich) und
würde behaupten, daß ich da sehr fit bin.
Jetzt muss ich auf C umsteigen, weil immer mehr auf STM32 umgestiegen
wird, wobei mir das prozeduale Programmieren, Register setzen usw.
beileibe nicht fremd sind. Ich krieg die Krise mit dieser uralten
Scheisssprache. Da muss ich Harald zustimmen. Das liegt natürlich auch
daran, daß C eben absolut universell sein soll.
Bascom ist proprietär aber es ist nicht zu erwarten, daß das bald endet
und die AVRs wird es auch noch lange geben. Die kann man damit genauso
virtuos wie in C programmieren oder sehr vereinfacht, einwenig wie
Arduino (ohne den gruseligen Overhead).
Als Mittel zum Hobby reichen Bascom und AVR 8-Bit vollkommen und wenn
die Dame noch nie programmiert hat - viel Spaß beim Einstieg in C mit 60
Jahren.
Achtung, das gilt in diesem Fall. Wenn man das beruflich nutzen will
oder auch nur jung genug ist - lernt bloß C.
Ich habe mir gerade das Buch bestellt (Gaicher).
Der eine Bascom Umsteiger in den Rezensionen hat mich überzeugt.
Gruß,
Norbert
"Als Mittel zum Hobby reichen Bascom und AVR 8-Bit vollkommen und wenn
die Dame noch nie programmiert hat - viel Spaß beim Einstieg in C mit 60
Jahren."
Kann ich nur zustimmen, stamme auch noch aus der Röhrenzeit (habe noch
ein paar Jahre mehr auf dem Buckel) und wollte eigentlich mit MC nichts
mehr anfangen, aber irgendwann lag das richtige Bastelprojekt auf dem
Tisch und dann habe mir Bascom reingezogen, für meine Belange
einwandfrei, ein Forum dafür gibt es auch.
Erste Erfolgserlebniss hat man dabei nach wenigen Stunden.
Gruß
Hans
Ich kannte vor Jahren einen Ingenieur der noch im Alter von 86 mit dem
Programmieren in BASIC und C anfing und lernte alles selber. Er konnte
mir allerhand nette Sachen vorführen. Er hatte damit bis zu seinem Tode
(Augenkrebs) großen Spaß daran. In seinem Beruf im PTZ hatte er mit
Programmieren überhaupt nichts zu tun. Hohes Alter scheint nicht immer
unbedingt ein KO-Faktor zu sein wenn das Interesse da ist und man
altersmäßig noch gut beieinander ist.
@Norbert:
Ich hab ja auch nicht behauptet, dass man mit BASCOM nichts auf die
Reihe bekommt, ich hab damit auch angefangen. Was mich dann doch dazu
bewogen hat auf C (C++) umzusteigen: Man bekommt zu ALLEM & JEDEM eine
Lösung (hüstel, Anregung) im Netz. Bei BASCOM hatte ich die diversen
Seiten irgendwann einfach "durch".
Thomas G. schrieb:> @Norbert:> Ich hab ja auch nicht behauptet, dass man mit BASCOM nichts auf die> Reihe bekommt, ich hab damit auch angefangen. Was mich dann doch dazu> bewogen hat auf C (C++) umzusteigen: Man bekommt zu ALLEM & JEDEM eine> Lösung (hüstel, Anregung) im Netz. Bei BASCOM hatte ich die diversen> Seiten irgendwann einfach "durch".
Moin,
Hmm, ich habe so viel mit Bascom gemacht, da brauche ich eigentlich
keine große Hilfe aus dem Netz. Ich hantiere aber auch nicht ständig mit
neuen Sensoren oder Displays herum, da muss man bei Bascom dann eben
selbst Hand anlegen, wenn da noch keiner ne Vorlage geschrieben hat.
Zumindest für mich ist bzw. wäre dieser Punkt nie ein Argument.
Worüber man aber nicht zu diskutieren braucht ist die Insellösung. Wenn
man das beruflich nutzen will, wenn nur der Hauch einer Chance in der
Zukunft dafür besteht, kommt man an C nicht vorbei. Spätestens wenn im
Team einer 32-Bitter vorschlägt, steht man ziemlich dumm da mit Bascom.
Egal, wie gut das bisher funktioniert hat.
Für's Hobby wäre mir das aber wurscht.
Gruß,
Norbert
Hallo
"Nimm das hiesige AVR-GCC-Tutorial."
Nein dem kann ich absolut nicht zustimmen, das Tutorial ist nicht für
einen "wirklich absoluten Anfänger", vor allem bei so einen Fall wie der
TO ihn beschrieben hat geeignet.
Es wird (indirekt auch so im Tutorial erwähnt) erwartet das man C schon
einigermaßen beherrscht und (oder) schon "irgendwie" Programmieren kann.
Dafür wird auf den ganzen "Elektronikkram" sehr genau eingegangen,
dieses Wissen scheint aber vorhanden zu sein, bzw. ist die Fähigkeit
"neues" in diesen Bereich erfassen und verstehen zu können ist schon gut
an trainiert und wird keine große Hürde darstellen.
Leider gehen aber die meisten Tutorials und Bücher diesen Weg -
"richtig" programmieren von Null an lernen direkt an einen µC gibt es
(so gut wie) nicht - da versagt auch ein Großteil der 1001 Aduinobücher
die auch meist nicht anders vorgehen und das eigentlich Programmieren
(Verständnis vermittlung) stark vernachlässigen (Was auch die sehr
gemischte Meinung zu Arduino als Gesamtsystem -weniger die Hardware-
hier in Forum und bei "Profis" erklären mag).
Also was programmieren betrifft ist (scheint) bei den Fall des TO
absolut nichts an Vorwissen vorhanden (zu sein).
Zwar nicht ganz so extrem wie bei den Fall des TO(Weder an Jahren noch
an der absoluten unwissenheit was Programmieren ist) aber doch in der
gleichen Richtung gehend war es bei mir.
Nach meinen Erfahrungen und Empfinden gibt es nicht das eine Buch,
sondern man muss mehrere gute Bücher, Onlinetutorials und für mich
wichtig auch Videos lesen bzw. anschauen und versuchen zu verstehen -
praktische Experimente, fertigen Code anschauen und versuchen ihn zu
verstehen und gezielt zu verändern gehört zwingend mit dazu. Auch das
Datasheet eines möglichst nicht zu großen gerne auch älteren µC (z.B.
einen ATmega 8 im 8Bit AVR Bereich gerne auch kleiner- der ATMega328
bietet meiner Meinung nach schon viel zu viel wenn er nicht im
Arduinoumfeld sondern "nackt" unter C oder ähnlichen Sprachen genutzt
wird- ähnlich wird es wohl auch bei der Konkurrenz aussehen)kann im
Zusammenhang mit den Büchern und Tutorials sehr hilfreich und erhellend
sein (allerdings sollte zumindest Schulenglisch beherrscht werden)
Nach meinen Erfahrungen ist es nicht so sehr das Problem zu verstehen
was Schleifen, Datentypen, Funktionen usw. sind und wie die für sich
alleine funktionieren und auch nicht so sehr die "Grammatik" der
jeweiligen Programmiersprache sondern wie man dieses alles zusammen
wirken lässt, oder einfach gesagt tatsächlich Programmiert.
Was ich empfehlen kann (aber eben -nicht- nur als jeweils ein Buch das
alles verständlich erklärt sonder nur im Zusammenhang mit weiteren
Büchern, Tutorials und Videos) sind z.B.:
https://halvar.at/elektronik/kleiner_bascom_avr_kurs/hallo_welt/https://www.amazon.de/AVR-Mikrocontroller-Lehrbuch-Einf%C3%BChrung-AVR-RISC-Mikrocontroller-Beispiel-ATmega8/dp/3981189442
gibt es auch als kostenlose Onlineausführung
https://www.rheinwerk-verlag.de/arduino_3797/?gclid=EAIaIQobChMIne3LpfTX4QIVlOF3Ch2fkwyEEAQYAiABEgLiavD_BwEhttps://www.amazon.de/Die-elektronische-Welt-Arduino-entdecken/dp/3897213192https://www.youtube.com/watch?v=FZAqXy-G5ww&list=PL4dxj1rGc3b29m2h3-0wUUTNVDoM5MmnJhttps://www.youtube.com/watch?v=Zr0842FEC5Qhttps://www.youtube.com/watch?v=9ADxPRjZI4Q&list=PLA6BB228B08B03EDD
Wie man sieht handelt es sich um verschiedene Programmiersprachen,
wichtig ist das man anfängt und sich nicht um die Rangeleien der
"Profis" kümmert.
Jedes der Bücher (unbedingt eine Leihbücherei nutzen - leider gibt es in
diesen Bereich nur teuere Bücher) Tutorials und Videos hat mir geholfen
den µC begreifen und vor allem zu verstehen und verinnerlichen was
überhaupt programmieren ist und wie die Denkweise dahinter ist, denn das
zu verstehen ist (für mich) die große Hürde und nicht die Konzepte und
Funktionalität aus den die jeweiligen Grundbausteine jeder
Programmiersprache bestehen (Schleifen, Funktionen, Variablen,
Datentypen usw.)
Selbst die extrem harte Nuss hinter den Sinn und die Idee der
Objektorientierten Programmierung (speziell bei C++) im µC Bereich zu
knacken ist mir einigermaßen gelungen, ohne aber wirklich in der Lage zu
sein das anderen Erklären zu können (Manche Sachen kann man einfach
nicht erklären oder muss ein außerordentlich begnadeter und einfühlsamer
Lehrer sein).
mfg
Hennes
Hennes schrieb:> "richtig" programmieren von Null an lernen direkt an einen µC gibt es> (so gut wie) nicht
Ich denke, man lernt eine Programmiersprache ohnehin besser auf einem PC
kennen und wendet danach das gelernte auf einem Mikrocontroller an.
Leider haben die meisten Hobbyelektroniker darauf offenbar keine Lust.
Ich hätte da noch ein Assembler Tutorial im Petto:
http://stefanfrings.de/avr_workshop/index.html
Für die tägliche Arbeit würde ich zwar C bevorzugen, aber mit diesem
relativ kleinen Kurz bekommt man ein gutes Gefühl dafür, wie AVR
Mikrocontroller unter der Haube der Hochsprache funktionieren.
Stefanus F. schrieb:> Ich denke, man lernt eine Programmiersprache ohnehin besser auf einem PC> kennen und wendet danach das gelernte auf einem Mikrocontroller an.> Leider haben die meisten Hobbyelektroniker darauf offenbar keine Lust.Stefanus F. schrieb:> Für die tägliche Arbeit würde ich zwar C bevorzugen, aber mit diesem> relativ kleinen Kurz bekommt man ein gutes Gefühl dafür, wie AVR> Mikrocontroller unter der Haube der Hochsprache funktionieren.
Zwei so richtig bescheuerte Tipps in diesem Zusammenhang.
Das kannst Du einem Abiturienten oder frischen Studenten so empfehlen
aber doch nicht in diesem Thread!
Gruß,
Norbert
Hallo
habe das zwar nur mal ganz kurz, oberflächlich und fast nur theoretisch
als eine Art Ergänzung gemacht, muss dir aber absolut zustimmen:
So nah kommt man den eigentlichen µC in keiner anderen Sprache, man
bekommt ein Gefühl wie so ein µC wirklich arbeitet und das das alles
irgendwie aber eben nur scheinbar extrem Umständlich ist aber auch
widerum eigentlich vom Grundsatz sehr einfach.
Das hört sich absolut widersinnige an, aber wer das Glück hat auf eine
gute Erklärung der Hardware und Assemlersprache zu stoßen wird verstehen
das es kein Widerspruch ist.
Gleichzeitig wird hoffentlich klar welche unglaubliche Leistung selbst
der kleinste µC schon bei "lächerlichen" Taktraten im kHz Bereich
(langsamer als mindestens ein zweistelliger kHz geht es meist gar nicht,
fast immer aber geht es selbst beim 5cent µC bei 4MHz erst los... )
bereitstellt.
Mit den Wissen mit welchen Taktraten, Busbreiten und
Parallelberechnungen ein "richtiger" Prozessor arbeitet wird einen erst
mal richtig klar welch gigantische Leistung dahinter steht und zumindest
ich bin verwundert das es der Mensch geschafft hat so etwas hervor zu
bringen, und das in vergleichsweise geringen Zeiträumen von wenigen
Jahrzehnten.
Leider ist das den meisten "normalen" ;-) Menschen nicht mal ansatzweise
bewusst.
Hennes
Nochmal Hallo
nein Stefanus S. hat recht:
Ein ganz klein wenig Assembler mit gleichzeitig guter und tiefgreifender
Beschreibung was in der Hardware (als Blöcke) abläuft ist sehr hilfreich
für einen absoluten Anfänger in der Programmierung, der aber schon
umfangreichen Wissen in der E-Technik hat - so was gibt es heute
vielleicht seltener, aber man muss bei weiten keine 70 Jahre alt sein um
solche Voraussetzungen zu haben.
Also zumindest mit solchen Voraussetzungen gibt es fast nichts besseres
- natürlich sollte man nach einen kurzen hereinschauen dann doch wohl
besser aufhören und mit einer anderen Sprache anfangen, denn die bieten
in der Praxis und zur gezielten (übergreifenden) Problemlösung natürlich
enorme Vorteile (sonst gäbe es sie ja nicht), aber ein Einblick was
wirklich unter der Haube so passiert ist schon für so manchen wichtig
und unter Umständen Hilfreich.
Hennes
Für eine Insellösung reicht auch eine Inselbegabung ;)
Aber BTT: Es gibt auch noch LUNA unter www.myluna.de
Auch eine Insellösung für AVR µC, und deutlich ausgereifter als BASCOM
Also besser Luna als Bascom anfangen.
C ist ein Krampf wenn man damit frisch anfängt.
Anselm schrieb:> Für eine Insellösung reicht auch eine Inselbegabung ;)
Reif für die Insel? Alcatraz?
> Aber BTT: Es gibt auch noch LUNA unter www.myluna.de> Auch eine Insellösung für AVR µC, und deutlich ausgereifter als BASCOM> Also besser Luna als Bascom anfangen.>> C ist ein Krampf wenn man damit frisch anfängt.
Das stimmt in gewisser Weise leider. Die Fallstricke für Anfänger und
Basic/Pascal Umsteiger sind bisweilen schon arg nervig.