Oh, hab ich mir gedacht: "Einer gibt 5, der andere nur 1 Stern".
Das gibt's doch gar nicht. Ich habe es mir trotzdem gekauft, da die Kombination HW und C-Programmierung mich interessierten.
Ich hab das Buch mal durchgearbeitet und gebe den Erläuterungen beider Rezensoren recht. Welche Punktzahl dies dann für jene bedeutet, ist dann subjektiv.
Positiv fand ich, dass viele Fragen und Stolpersteine im Buch erwähnt wurden, wie z. B.:
9.2.1 volatile: nicht nur wann man es verwenden soll, sondern auch warum, mit Beispielprogramm. Toll
9.2.2 Atomare Datenzugriffe: Wann und warum man den Interrupt sperren muß. Hatte das Problem schon.
10. Timer/Counter: Eigentlich das ganze Kapitel
11. Speicherzugriffe: Zugriff auf Flash habe ich erst gesucht, und hier sind die Lösungen. Sehr gut.
Und die vielen guten Links.
Aber, es sind einfach zu viele Tipp-Fehler im Buch, die z.T. für das Verständnis wichtig sind, und ganz schön verwirren können, wenn sie was Gegensätzliches ausdrücken.
Da ja Elektor ein Verlag für Elektronik ist, dürfte hier nicht intensiv genug gegengelesen worden sein.
Und die Aktualität scheint auch nicht ganz vorhanden zu sein.
Ich habe bei "Tipps vom Autor" nachgeschaut. Aber, da gab es keinen Beitrag zu diesem Buch.
Ein paar Beispiele der Tipp-Fehler:
S.19:
BGA statt richtig BGH (für BallGridArray)
S.139
HD44780 statt HD4470
S.155, 8.
13..260 Fs, wahrscheinlich sind µs gemeint.
S.155, 8.1:
Messgenauigkeit ist eigentlich hier der falsche Begriff. Vielmehr handelt es sich um die Auflösung (resolution)
S.181, 10.1:
muß MC statt FC heißen
Beispiel für Verwirrung durch Tippfehler:
S.36:
Zuerst wird WinAVR20060125 (sicher falsch) zur Verwendung vorgegeben, aber fürs runterladen wird WinAVR20060421 vorgeschlagen.
S.51, Abbildung 2.28 und led.c:
Kommentar falsch. Müsste PORTB statt PORTD heißen.
S.53:
In 12. wird beschrieben, dass OCDEN aktiviert sein muß, in der Abbildung 2.30 ist dies aber nicht erfolgt. Dies ist gerade für Anfänger verwirrend, wenn Text und Abbildung nicht zusammenpassen.
S.57:
4. Zeile: muß Pin22 statt Pin20 heißen.
3. Absatz: 330 bis 1000Ohm ergeben aber nur einen LED-Strom von <= 10mA bei U_LED von 1.7V und Vcc=5V. Andererseits wurde am Anfang des Absatzes erwähnt, dass der MC-Ausgang bis zu 20mA treiben kann.
S.58, Abbildung 3.3:
Der Abblockkondensator ist auf dem Steckboard nicht vorhanden. Wenn es Absicht ist, dann sollte dies wenigstens in 3.1.1 erwähnt werden.
S61:
Warum ein Signalgenerator mit NE555 und Abbildung 3.8 im Buch sind, wenn es gar nicht empfehlenswert ist, verstehe ich nicht.
S119
Pin0 von PORTA müsste es heißen, statt Pin1 von PORTC
S.162: Abbildung 8.4
ist falsch. Die unteren Anschlüsse von 2R müssen nach VCC oder nach GND geschaltet werden. Bei dem Schaltersymbol wird VCC aber entweder zum unteren Anschluss von 2R geschaltet und nach GND, womit VCC kurzgeschlossen würde. Abbildung 8.5 ist dann aber wieder richtig.
S.187, TIMER4:
// PORT B3 ... statt B0
S.195, PWM1:
Zeile23: // PB0 als Ausgang, statt PORTB
Zeile 35: (1<<CS02) statt :(1<CS02)
S197, 3. Abschnitt, unten:
0...50 statt 0...100
Ein paar Beispiele zur nicht vorhandenen Aktualität:
S.36:
Das Buch kam laut Vorwort im May 2008 raus, und ich verstehe nicht, dass eine uralte WinAVR20060421 vorgeschlagen wird. (zwischenzeitlich kenne ich WinAVR-20071221 und WinAVR-20080610)
S.19:
Dies trifft auch auf die Preise zu. Stand 11/2007
Ein paar Beispiele zur Technik, insbesondere Hardware:
S27:
C2 am Ausgang des Spannungsreglers ist auch erforderlich, um die Schwingneigung zu unterdrücken
S29:
Ganz automotivegerecht ist die Schaltung auch nicht.
Zur Unterdrückung der hochfrequenten Störungen (Testpulse 3a und 3b in Informationsschrift von ST) am Stromversorgungseingang wird meist ein 100nF X7R Kondensator verwendet.
Um die weitere Beschreibung zu verstehen, sah ich bei den Datasheets der Hersteller nach:
National Semiconductor empfiehlt ihn nicht mehr für Neuentwicklungen. (Aktualität!!!)
ONSEMI hat eine gute Beschreibung und auch ein Layoutbeispiel. Hier hätte ich mir einfach im Buch eine angepasste Schaltungsdarstellung gewünscht, wo man die Beschreibung im letzten Absatz leichter nachzuvollziehen ist.
Zu Kapitel 2.4 Programmier-SW: Warum ist nicht das AVR-Studio enthalten. Da es zur Kompilierung sowieso benutzt wird, kann man ja gleich die enthaltene Programmierfunktion auch für ISP benutzen.
S65:
Intel_Hex gibt es auch auf der deutschen Seite unter: http://de.wikipedia.org/wiki/Intel_HEX
S113, Abbildung 5.12:
Verwirrend für mich ist auch, dass GND oben und +VCC0 unten gezeichnet ist. Warum?
Ich vergebe 4 Punkte, da ich mich in die C-Programmierung auf dem AVR einarbeite, und hier das Buch wirklich hilfreich ist.