Forum: Mikrocontroller und Digitale Elektronik Grundausstattung Fachbücher


von Erik D. (dareal)


Lesenswert?

Habe von einer Firma quasi einen "Gutschein" über 120,- Euro bekommen 
für Bücher oder Software.

Nun frage ich mich, welche Grundausstattung man sich da als Blattwerk 
zulegen sollte. Vorhanden sind nur ein paar alte, kleine Werke aus 
DDR-Zeiten, welche ich kaum noch nutze.


Hauptaugenmerk:
- Analogtechnik/-schaltungen
- Grundlagen Elektrotechnik
- C-Programmierung (arbeite bisher nur in Assembler, AVR-Studio)


Höre hier oft vom Tietze/Schenk, das wollte ich mir sowieso mal zulegen, 
soll jetzt hier aber nicht miteinfließen.

Die C-Programmierung wollte ich erstmal grundlegend lernen, da ich auf 
dem Gebiet noch 0 Erfahrung habe, bisher habe ich meine Atmegas in 
Assembler programmiert, will jetzt aber halt auf C umsteigen. Deswegen 
lieber erstmal ein Buch was einem C erklärt als eins was C voraussetzt 
(wie es sicherlich bei viele "C-Mikrocontroller-Büchern" sein wird). 
Quasi ein C-Grundlagenkurs (der auch weniger auf µC aufbauen kann, das 
wird ja dann später gelernt) oder sowas.

Da ich eher ein Mensch bin der durch praktische Beispiele lernt als 
durch seitenweise Fachtext wären Bücher, die in diese Richtung gehen 
bevorzugt, soll jetzt aber kein MUSS sein.


Also, was wären eure Buchempfehlungen?

von hebst (Gast)


Lesenswert?

Für den ersten Einstieg in C kann ich dir das Buch von Günter Schmitt 
"Mikrocontrollertechnik mit Controllern der Atmel AVR RISC Familie" 
empfehlen.
Im ersten Teil wird die Programmierung in Assembler erklärt und 
anschließend in C. Ist auch eher praktisch orientiert.

von Gast (Gast)


Lesenswert?

Alternativ empfehle ich "Das große PIC-Micro Handbuch" von den Königs. 
Da steht erstmal von jedem etwas drin.

Datenbücher dürften m.E. sinnlos sein, das findet man aktueller und 
billiger in Netz. Vielleicht noch ein paar Bücher mit Grundschaltungen 
oder Schaltungssammlungen. Manchmal hat man ein Problem und kommt nicht 
auf die Lösung und in den Büchern steht es drin.

von Erik D. (dareal)


Lesenswert?

Ja, deswegen auch ein Analogtechnik und -schaltungsbuch, also so eine 
Sammlung an praktischen Anwendungen, aber halt was ordentliches, nicht 
diese aus dem Netz zusammengesuchten Schaltungsbücher.


Mit der C-Programmierung sollte es erstmal weniger µC-orientiert 
losgehen, also mir wäre es erstmal am liebsten, wenn ich C auf PC-Basis 
lerne, das auf µC zu portieren sollja doch sehr einfach und logisch 
ablaufen soweit ich das hier im Forum mitbekommen habe.

Ich lese auch immer C, C+ oder gar C++ ...
Gibt es da nennenswerte unterschiede? Wenn JA, was eignet sich im 
nachhinein am besten für µC programmierung .... vorzugsweise Atmegas.

von P. S. (Gast)


Lesenswert?

Erik D. wrote:

> Mit der C-Programmierung sollte es erstmal weniger µC-orientiert
> losgehen, also mir wäre es erstmal am liebsten, wenn ich C auf PC-Basis
> lerne, das auf µC zu portieren sollja doch sehr einfach und logisch
> ablaufen soweit ich das hier im Forum mitbekommen habe.

Fuer C empfehle ich nach wie vor gerne "Programmieren in C. Ansi-C." von 
Kernighan und Ritchie. Alt und teuer, aber IMO nach wie vor eine gute 
Grundlage.

http://www.amazon.de/Programmieren-C-ANSI-2-C-Reference/dp/3446154973/ref=sr_1_2?ie=UTF8&s=books&qid=1233908822&sr=8-2

> Ich lese auch immer C, C+ oder gar C++ ...
> Gibt es da nennenswerte unterschiede?

Ja, C++ ist um ein Gewaltiges umfangreicher als C, schliesst aber C ein 
- was man von diesem Umfang nutzen kann, sollte oder nicht sollte, ist 
eine Debatte, die man ewig fuehren koennte. Wenn du objektorientiert 
programmieren willst, ist C++ natuerlich viel bequemer als C.

> Wenn JA, was eignet sich im
> nachhinein am besten für µC programmierung .... vorzugsweise Atmegas.

Es gibt keinen Grund, nicht C++ zu benutzen, da es C einschliesst. Wenn 
du nachher nichts von den zusaetzlichen Moeglichkeiten benutzt hast, 
weil du sie nicht gebraucht hast, so what?

Generell kann deine Frage aber nicht beantwortet werden - welche 
Techniken sich am besten eignen, haengt vom Problem ab. Es ist immer 
wieder traurig anzusehen, wenn jemand versucht ein funktionales Problem 
objektorientiert zu loesen, am Besten noch mit dicken UML-Diagrammen. 
Andersrum ist es genauso traurig, wenn sich jemand mit einer 
funktionalen Loesung fuer ein  klar objektorientiertes Problem abmueht, 
um ja nicht an seinen Paradigmen zu kratzen.

von Klaus (Gast)


Lesenswert?

... bitte nicht das I-Net vergessen!

    aktueller gehts nicht. Klaus

von Johnny (Gast)


Lesenswert?

Ich hab zwar einige Bücher, aber reingeschaut eigentlich nie in eines.
Du brauchst wirklich nur das Internet, da gehts mit einigem Suchgeschick 
viel besser.

von ups... (Gast)


Lesenswert?

Tietze-Schenk würde ich nur empfehlen wenn`s billig zu beschaffen
wäre sonst geht wahrscheinlich gleich der ganze Gutschein bei drauf.
Einsteigerbücher wären z.B. C für Kids oder C für Dummies.
Div. AVR-Bücher sind leider teuer, auch in der Bucht weil die
jeder gern haben will.
Besser wäre es sich in einer Buchhandlung einige Bücher anzusehen
und dann über den Gutschein zu beschaffen falls das machbar ist.
Außer Wiki ist mir seltsamerweise noch kein brauchbare Webseite
bekannt wo man Grundlagenwissen der Elektrotechnik in der Tiefe
eines guten Tabellenbuches findet. Daher hab ich mir aus fast
allen Bereichen Exemplare (nicht nur E-Technik) zugelegt.
Wenn ich mal was nachschlagen will geht das schneller als nachher
mich mit 10 Millonen Treffern über Google rumzuschlagen in dieser
Datenmüllkippe www.
Ansonsten sind die Bucht und Amazon recht gute Bezugsquellen, nur
auf den Preis sollte man achten.

von Erik D. (dareal)


Lesenswert?

Das Internet ist klar ... nutze ich auch recht effektiv ... aber 
manchmal wünscht man sich schon ein Buch. Zudem gibts auch viel Schrott 
im Netz, da erstmal das Gute vom Schlechten zu trennen bedarf auch etwas 
Zeit.

Also wie gesagt ... mir wäre jeweils ein Buch für die oben genannten 
Bereiche ganz lieb ...

- Analogtechnik/-schaltungen
- Grundlagen Elektrotechnik
- C-Programmierung (arbeite bisher nur in Assembler, AVR-Studio)

Wobei oft Grundlagen ja auch die Analogtechnik miteinbeziehen.

Für die C-Programmierung wäre halt auch noch gut zu wissen ob es für C, 
C+ oder C++ freie oder günstige und "leistungsfähige" Compiler für z.B. 
Windows XP in meinem Fall gibt, damit man gelerntes auch gleich 
ausprobieren kann, was in meinem Fall sehr wichtig ist, das lernt sich 
nämlich viel einfacher.

von Klaus (Gast)


Lesenswert?

>manchmal wünscht man sich schon ein Buch. Zudem gibts auch viel Schrott
>im Netz, da erstmal das Gute vom Schlechten zu trennen bedarf auch etwas
>Zeit.

... nur weils gedruckt und gebunden ist, werden Deine Bücher nicht
    automatisch richtiger :) Klaus

wenn Du C lernen willst, lese Dir das excellent Tut. auf dieser Seite
durch, drucks aus und binde es. :) Klaus

von Erik D. (dareal)


Lesenswert?

Von dem Tut alleine lernt man aber noch lange kein C ... höchstens wie 
man es auf µC anwendet ...

Außerdem frage ich ja auch nach empfehlenswerten Büchern, nicht nach 
Büchern die schön bunt sind ;)

von Klaus (Gast)


Lesenswert?

Hi Erik,

jetzt einen mit dem Holzhammer:

wenn Du C auf einen µC anwenden kannst, kannst Du C auch auf alles
andere (PC, Auto, WaMa  ...) anwenden!

Gruß Klaus

von Olaf (Gast)


Lesenswert?

> Mit der C-Programmierung sollte es erstmal weniger µC-orientiert
> losgehen, also mir wäre es erstmal am liebsten, wenn ich C auf PC-Basis
> lerne, das auf µC zu portieren sollja doch sehr einfach und logisch
> ablaufen soweit ich das hier im Forum mitbekommen habe.

Dazu wuerde ich auch raten. Und zwar deshalb weil es das Debugging
deiner Programme deutlich vereinfacht. Gerade fuer die erstens
Schritte ist es auch schoen wenn printf immer funktioniert und man
nicht erst ein LCD mit Libary an einen Controller basteln muss.
Das mache ich sogar heute noch so wenn ich mal einen komplizierten
Algorythmus austesten will.

> Ich lese auch immer C, C+ oder gar C++ ...

Es gibt C und C++.

> Gibt es da nennenswerte unterschiede?

Ja, weiss nur nicht jeder. :-)

C ist, wie auch Pascal oder Basic eine klassische Programmiersprache.
C++ ist eine objektorientierte Sprache. Das ist ein vollkommen anderer
Ansatz ein Problem zu loesen. Letzeres ist aufwendiger hat aber Vorteile
wenn Programme sehr gross und complex werden.

Man koennte auch in C so programmieren, will es aber meist nicht weil
man auf kleineren Controllern die schmutzige Effizienz zu schaetzen 
weiss.

Man kann in der Tat auch unter C++ wie in C programmieren. Das fuehrt 
dazu das man viele Leute trifft die behaupten C++ zu programmieren, es 
aber nicht tun/koennen. :-)

Der entscheidende Punkt bei C ist Disziplin. Die Sprache erlaubt es
einem sehr viele Dinge zutun was manchmal sehr praktisch ist. Oft
ist es aber besser wenn man auf manche Sachen verzichtet damit Programme
uebersichtlich und verstaendlich bleiben. Damit kann man dann den
Punkt wo es sinnvoll waere auf C++ zu setzen SEHR weit hinausschieben.
Wer keine Disziplin mitbringt braucht zum Buch noch einen Lehrer der
ihm ab und an auf die Finger haut sonst wird das nichts.

Ich wuerde als Buch mal K&R empfehlen. Denn die Erfinder einer
Sprache koennen nicht irren, und was fuer mich gereicht hat wird
auch fuer dich reichen. :-)

Olaf

von Erik D. (dareal)


Lesenswert?

So, habe mich bei nem Kumpel etwas "schlau" gemacht, der Programmiert 
nämlich in div. Sprachen unter Windows und hat auch mal Atmels 
programmiert ... er meinte ich soll mir ein C-Buch direkt für µC nehmen 
und für Windows-Programmierung dann lieber C# (das Buch "VISUAL C# 
2008")

Was ist eure Meinung dazu?

von Moinzel (Gast)


Lesenswert?

The Art of Electronics

Absolutes Muss für alle analogen Schaltungsvorhaben!

von Severino R. (severino)


Lesenswert?

Olaf wrote:

> Ich wuerde als Buch mal K&R empfehlen. Denn die Erfinder einer
> Sprache koennen nicht irren, und was fuer mich gereicht hat wird
> auch fuer dich reichen. :-)

Vielleicht können sie nicht irren, aber wer eine (gute?) Sprache 
erfindet, ist nicht unbedingt auch didaktisch gut. Und eine 
Sprachspezifikation ist nicht dasselbe wie eine Einführung.

von Olli R. (omr) Benutzerseite


Lesenswert?

Klaus wrote:

> wenn Du C auf einen µC anwenden kannst, kannst Du C auch auf alles
> andere (PC, Auto, WaMa  ...) anwenden!

Ja, klar.

uC-Programmierung in C hat mit PC-Programmierung in C ungefaehr soviel 
gemein, wie ein Volkshochschul-Kochkurs mit einem 
Oekotrophologie-Studium (die Sprache ist Deutsch).

"Auto. Waschmaschine", diese Rechnerarchitekturen kenn ich gar nicht, 
erklaer mal. Gibts den gcc fuer die Waschmaschine und wie bekomme ich 
das Auto ans AVR-Studio?

cnr,
Olli

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.