Hallo ich habe mal eine Frage in die Runde der µC Programmierer. Ich habe habe hier im Forum schon etwas länger gesucht aber nichts richtiges gefunden. Gibt es ein Buch zu kaufen oder im Internet in dem die C-Programmierung an Hand eines AT Mega 8 oder AVR einmal komplett erklärt und durch genommen wird? Meine nicht nur Grundfunktionen wie Port ein und aus sondern auch weiter über Strukturen, Arrays, Pointer usw.? Man findet viel über Assembler aber ich finde wenig über C. oder suche ich nur falsch. Das Tutorial hier ist gut. Aber irgendwie fehlt da noch etwas... Habe 3 Bücher von Elektor aus der Serie "C - Programmierung für 8051" die die ganze Sache der Sicht des 8051 auch gut erklären aber wo ist das Buch für den AT Mega18 (16,32)??? Gruß André
@ Andre H. (andre01) >Gibt es ein Buch zu kaufen oder im Internet in dem die C-Programmierung >an Hand eines AT Mega 8 oder AVR einmal komplett erklärt und durch >genommen wird? Wie wäre es damit? AVR-GCC-Tutorial >sondern auch weiter >über Strukturen, Arrays, Pointer usw.? Das steht in JEDEM Standard C-Buch und ist zu 99% direkt übertragbar. >Das Tutorial hier ist gut. Aber irgendwie fehlt da noch etwas... Was? MfG Falk
Warum in die Ferne schweifen, wenn das Gesuchte doch so nahe liegt: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial >Strukturen, Arrays, Pointer usw.? Standard-C Sachen... >Das Tutorial hier ist gut. Aber irgendwie fehlt da noch etwas... Was denn? C-Buch: Kernighan und Ritchie "Die Sprache C" (oder so ähnlich; ab der 2. Auflage auch in einer annehmbaren Übersetzung) >Habe 3 Bücher von Elektor aus der Serie "C - Programmierung für 8051" >die die ganze Sache der Sicht des 8051 auch gut erklären Und wo ist das Problem? Ein AVR besteht wie ein 8051 aus den typischen Bauteilen wie Registern, einem Rechenwerk und was sonst noch zu einem Mikrocontroller so alles gehört. Der einzig prägnante Unterschied sind die Archtekturen. Der AVR kann im Gegensatz zum 8051 keine Programme im dem RAM laufen lassen. Was ich sagen will: Wenn man schon ein Grundwissen bzgl. Mikrocontrollern hat, dann sollte es unproblematisch sein, zwischen verschiedenen Controllern zu wechseln.
Das Hauptproblem was ich manchmal habe ist halt das Verständnis und den Zusammenhang von Arrays und Pointer. Das sollen ja die Sachen sein, die an C besonders Spaß machen. Werde mi mal den Buchtip von STK500 anschauen für weitere einfache gute C Buchtips bin ich auch weiter offen. André
Andre H. wrote: > Das Hauptproblem was ich manchmal habe ist halt das Verständnis und den > Zusammenhang von Arrays und Pointer. Das sollen ja die Sachen sein, die > an C besonders Spaß machen. > > Werde mi mal den Buchtip von STK500 anschauen für weitere einfache gute > C Buchtips bin ich auch weiter offen. > Die Sache ist die. C ist eine normierte Sprache. Als solche gibt es daher einen Sprachschatz der überall gleich ist. Erst bei speziellen Besonderheiten muss man dann auf die jeweiligen Eigenheiten eines µC Rücksicht nehmen. Einige, mich eingeschlossen, sind der Meinung, dass ein µC nicht unbedingt der beste Einstieg in C sind, wenn es um die Sprache C an sich geht. Die Gründe dafür sind einfach: * auf einem PC mit einer vernünftigen Entwicklungsumgebung hast du normalerweise bessere Debug-Möglichkeiten als auf einem µC. Das fängt bei ganz banalen Dingen an. Auf einem PC funktioniert ganz einfach die Ausgabe auf die Konsole 'out of the box'. Auf einem µC muss man sich dagegen oft noch um so Kleinigkeiten wie 'Initialisieren einer Datenverbindung zum Host-System' sowie 'Unterjubeln dieser Datenverbindung an das Standard I/O System' kümmern. Beides kann einen Neuling in den Wahnsinn treiben, wenn es nicht funktioniert. * Auf einem µC gibt es eine Menge Spezialfunktionalität, die erst mal nichts mit C an sich zu tun hat, auf die man sich aber gerne stürzt. Um C, oder Programmierung im Allgemeinen, von der Pieke auf zu lernen, ist nichts davon notwendig. Oder anders ausgedrückt: Um zu lernen was es mit Arrays auf sich hat, bzw. wie Sortierung im Allgemeinen funktioniert, habe ich mit dem Wissen darüber, wie man mit einem Timer eine PWM erzeugt nichts angefangen. * Speziell die kleineren AVR (Mega8, Mega16) haben Limitierungen die einem beim Lernen von C an sich das Leben schwer machen können. Es macht einfach keinen Spass, wenn man bei jedem größeren Testprogramm erst mal alles so zurecht biegen muss, daß es in 1KByte SRAM Speicher hineinpasst. Das lenkt vom eigentlichen Ziel ab. Daher: Um C an sich, bzw. Programmierung an sich, zu lernen bietet es sich an, sich ein Entwicklungssystem für den PC zu besorgen und dort die ersten Schritte zu machen. In diesem Sinne ist auch das gcc-Tutorial hier zu sehen. Es ist weniger eine Einführung in C an sich, sondern mehr ein Tutorial für jemanden der bereits C kann und die Abweichungen in der Programmierung von µC kennen lernen will. Und ja: K&R (Kernighan und Ritchie) ist nach wie vor der Buchtip schlechthin.
Schau mal hier: Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie. Programmierung in Assembler und C - Schaltungen und Anwendungen (Broschiert) von Günter Schmitt (Autor) Das ist für mich DAS AVR Buch schlechthin. Alles sehr anschaulich erklärt - alle Grundlagen in C und in Assembler. Das ist wirklich sein Geld wert - und man kann es auch auch dem Klo lesen ;-)
Ich kann dir ein Super Tutorial von der Fa. OSTC ans Herz legen: www.ostc.de/crules.pdf Hat zwar nichts mit einem AVR zu tun, aber wenn du von Anfang an sauber programmieren möchtest, solltest du dir das Dokument einprägen.
Danke für die Tips Habe mal bei einem großen Internetbuchhandel gestöbert und folgendes Buch gefunden... C als erste Programmiersprache. Vom Einsteiger zum Profi hat das schon einer? Oder hat davon was gehört? Außer die Kommentare bei amaz... André
Kannst doch reinschauen: http://books.google.de/books?id=vmjkrZN1StgC&printsec=frontcover&dq=C+als+erste+Programmiersprache.&sig=Xn48UI3Ji-2x-WrjDR0_TaxElo4#PRA1-PA362,M1 Würde mich an deiner Stelle mich bei www.terrashop.de umschauen.
ich kann mich Wolfram Herzog nur anschliessen. das buch ist der börner
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.