Hi! Ich würde in nächster zeit gerne anfangen, einen ATmega32 zu programmieren. Meine Fragen dazu sind: - Ist es unbedingt notwendig "das hohe C" perfekt zu können, dass ich gerade im DOS lerne, bevor ich auf einen C-Compiler für uC wechsle oder ist es besser gleich mit einem C-Compiler für uC herumzuprobieren?? - Welcher C-Compiler ist zu empfehlen? - Mit welchen Büchern habt ihr gute Erfahrung gemacht und sollte man sich besser ein Buch für den Compiler oder für den uC kaufen, oder sogar beides? vielen dank im voraus Franzi
das hohe C zu können ist am Anfang sicherlich nicht notwendig und DOS hat damit (fast) nichts zu tun - auch wenn ich diese Frage sowieso nicht wirklich verstehe... nimm (für ATmega-Projekte) am besten WINAVR (falls Du mit Windows arbeitest), dann dazu findest du hier sicher die beste Unterstützung Bücher gibt's wie Sand am Meer - vielleicht einfach mal ein Anfängerbuch über ANSI-C durchschauen - oder diverse Online C-Lernseiten und nicht zu vergessen hier das AVR-GCC-Tutorial Grüße
Ich denke es kann nicht schaden, erstmal die Grundkenntnis der C Programmierung auf einem PC (also DOS, Windows, Linux, ...) zu lernen. Fehler zu finden und daraus zu lernen ist dort sicher einfacher (Debugging) als auf eine uC, den man emulieren muss. Auch Ausgaben lassen sich viel besser nachvollziehen, da sie direkt auf dem Schirm erscheinen. Was bedeutet schon "perfekt" können ? Für uC gibt es glaube ich nur einen Compiler.
Moin, ich würde dir auch WinAVR empfehlen(für Win). Wenn du C für uCs lernen willst, aber die benötigte Hardware noch nicht hast, kannst du den erzeugeten Code auch mit dem kostenlosen AVR-Studio simulieren. Ich denke, dass das sinnvoller ist, als zuerst C für DOS u.ä. zu lernen, weil man viele Dinge wie z.B. Bitmanipulation auf uCs deutlich häufiger braucht, als bei der PC-Programmierung. Gruss, Philip.
Als Buch kann ich "Das C Grundlagen Buch" (Gerhard Willms, Data Becker) empfehlen. Gibt´s mittlerweile glaub ich auch in ner "C++ Edition" oder so (in dem man aber trtzdem noch plain C lernen kann). Hat run 1100 Seiten. Mit dem hab ich´s gelernt. Hat viele Beispiele und zeigt viele mögliche Fehler auf, bevor man sie selbst begeht. Wiesi
Hallo Schliesse mich der Meinung von Sascha an. Wenn du mit C noch nicht gut vertraut bist, dann führst du deine Übungen einfacher an einem Dos, Windows oder Linux C-Compiler durch. Alleine der Vorgang beim Testen eines programmes geht komfortabler und schneller (keine Programmierung des uPs). Tutorials - teils gesamte Kurse - zu C findest du eine Menge im Internet. Du wirst sehen, nachdem du die wesentlichen Elementen verstanden hat, erlernst du die uP-spezifischen Dinge im Handumdrehen. Beste Grüsse Frank PS: Ich glaube, den Borland-C Compiler V4.5 gibt es inzwischen sogar kostenlos.
für den avr nimm winavr-c , ist zu empfehlen. programmiereditor und gleich mit dem avrdude vom editor in dem avr. mfg pebisoft
Ich habs auch so gemacht, zuerst auf DOS die Syntaxgrundlagen und alles austesten und dann auf dem eigentlichen µC. Insbesondere, wenn man mit den logischen Operatoren (&, &&; <<, ~, ! usw.) und den Zahlenformaten noch nicht so fit ist. Wenn also mal ne Schleife nicht da abbricht, wo man es will, einfach unter DOS durchsteppen. Peter
Aber beim Üben unter DOS/Windwows/*nix -- hüte Dich vor den OS-spezifischen Konstruktionen die in fast allen aktuellen Büchern zu finden sind. Klares "Basis" C lernt man meiner Meinung nach nur aus der C-Bibel -> "The C Programming Language (2nd Edition)" von Brian W. Kernighan und Dennis M. Ritchie, oder kurz "K&R". (Deutscher Titel "Programmieren in C ")
und wenns auch net gleich en ATmega sein muss dann ist auch CodeVision (gibts auch ne kostenlose Version) noch recht gut. (gefällt mir z.B. persönlich besser als winavr). Aber ansosnt wies die anderen schon sagen, erst mal so C bzw. ne Programmiersprache lernen damit man mal die Grundkenntnisse hat. Bei Büchern: hm.. ich hab halt goto C++ gehabt weil ich eh noch C++ lernen musste. Aber da gibts echt en haufen Bücher bzw. recht viele Tutorien im Internet. Gruß Thomas
Meine Vorschläge wären, - ein Buch, wie man mit den AVR (bei Dir ja dann wohl ATmega32) umgeht hat keinen Vorrang. Wenn man sich mal das Datenblatt (vorausgesetzt, Du kannst Englisch mit Schulkenntnissen und hast Zugriff auf ein Wörterbuch - dict.leo.org) ansieht, dann wird da schon sehr viel erzählt. Falls man's dann immer noch nicht versteht, kann man ja auch noch hier nachfragen. - An Deiner Stelle würde ich mir für die ersten Schritte am PC etwas von www.bloodshed.net (Dev-C++) runterladen. Damit kann man dann auf dem PC mit C experimentieren. - Ein Buch für die Grundlagen von C bzw. C++ wäre ganz nett. Ich kann allerdings den K&R nicht für den Anfang empfehlen. Am besten da irgendwas nehmen, was eine gute Menge Text beinhaltet. Zu viel Schnichschnack braucht man am Anfang eh nicht, da die großen Internals von C meist auf den Mikrocontrollern am Anfang keine Rolle spielen. - Für den Einstieg auf dem Controller erst mal eine Steckbrett oder ein fertiges Experimentierboard beschaffen. Fertige Boards haben den Vorteil, dass man Fehler in der Elektrik meist ausschließen kann. - Dann das AVR-Studio von Atmel herunterladen und ein bißchen mit Assembler spielen - das hilft beim prinzipiellen Verständnis des Controllers. Wenn's dann später größer und abstrakter wird, dann kann man immer noch C nehmen - Als C-Compiler für den AVR als Hobby- oder für wissenschaftliche Kleinanwendungen würde ich den AVR-GCC (WinAVR für Windows) empfehlen. Der Vorteil ist, dass er keinerlei Beschränkungen im Umfang hat. Der zweite Vorteil ist, dass der Support in Foren sehr gut ist. Selbst wenn man mal wirklich komplizierte Fragen hat, gibt es hier sehr versierte Experten. - Am Wichtigsten : Am Anfang mal ganz einfach Sachen machen : -LEDs blinken lassen, Hallos über UART an den PC senden, Display anschließen, ... Wenn man sich am Anfang übernimmt, dann wirds übel schwer. MfG, Daniel. P.S.: Falls Du mit einem steckbrett arbeiten willst, dann schaff Dir am besten einen fertigen Programmieradapter an, der ist nämlich die beliebteste Fehlerquelle hier im Forum.
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.