Gast
#3108172
Ich habe das Tutorial AVR-GCC durchgearbeitet. Hier ist keine konkrete Beschreibung zum Thema "Schleifen" enthalten. Habe ich das übersehen? Gibt es woanders ein deutsches Tutorial zu dem Thema?
|
Anzeige
|
Schleifen erklären?
Gast
#3108172
Ich habe das Tutorial AVR-GCC durchgearbeitet. Hier ist keine konkrete Beschreibung zum Thema "Schleifen" enthalten. Habe ich das übersehen? Gibt es woanders ein deutsches Tutorial zu dem Thema? Eine Schleife nutzt einen Rückwärtssprung im Programm, um Programmteile wiederholt auszuführen, etwas ungenau ausgedrückt. Google "C tutorial deutsch" ergibt viele gute Links
Gast
#3108193
Gast
#3108195
Du hast diesen Satz in der Überschrift des Tutorials gelesen?
>Vorausgesetzt werden Grundkenntnisse der Programmiersprache C.
Maddin schrieb: > Ich habe das Tutorial AVR-GCC durchgearbeitet. > Hier ist keine konkrete Beschreibung zum Thema "Schleifen" enthalten. > Habe ich das übersehen? Ja, anscheinend den 2. und 3. Satz des Tutorials.
Gast
#3108531
Es werden doch aber auch z.B. Ganzzahlige Datentypen (Integer) erklärt. Das sind doch auch Grundlagen. Folglich ist es nicht völlig falsch hier auch nach einer Erklärung zum Thema "Schleifen" zu suchen. Gibt es woanders ein deutsches Tutorial zu dem Thema? Google findet viel zu ANSI-C, aber ist das auch immer zu AVR-GCC kompatibel? Welche Fallen lauern bei der AVR-Programmierung? Um den Code zu optimieren wollte ich mich mal intensiver mit dem Thema befassen. Auch der Programmierstil wir oft als Argument genannt. Entschuldigt bitte meinen Wissensdurst :-) @ Maddin (Gast) >Das sind doch auch Grundlagen. Folglich ist es nicht völlig falsch hier >auch nach einer Erklärung zum Thema "Schleifen" zu suchen. Doch. >Gibt es woanders ein deutsches Tutorial zu dem Thema? Mann O Mann, was haben die Leute nur in der Prä-Tutorial Zeit gemacht? Ein gutes Buch gelesen? GENAU! >Google findet viel zu ANSI-C, aber ist das auch immer zu AVR-GCC >kompatibel? Ja. > Welche Fallen lauern bei der AVR-Programmierung? Nicht zu viele. > Um den Code >zu optimieren wollte ich mich mal intensiver mit dem Thema befassen. Du bist noch lange nicht in der Lage, über das Thema Optimierung nachzudenken. Du musst erstmal die Grundlagen und Praxis GRÜNDLICH lernen. Dann kann man irgendwann mal was optimieren. http://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Prinzipien_der_Optimierung >Entschuldigt bitte meinen Wissensdurst :-) Könnte schlimmer sein ;-)
Gast
#3108583
Danke für die Hinweise. Mit "Optimierung" meine ich eigentlich was anderes. Ich möchte den richtigen/günstigsten Schleifentyp für das zu lösende Problem einsetzen. Die Auswahl kann ich natürlich nur korrekt treffen wenn die Schleifen genau kenne und konfigurieren kann. Maddin schrieb: > Es werden doch aber auch z.B. Ganzzahlige Datentypen (Integer) erklärt. Nö. Es werden nur die Dinge ergänzt, die Standard-C bewusst offen lässt und es dem Compilerbauer bzw. der Architektuir überlässt da eine sinnvolle Definition festzulegen. Wenn du denkst, das was du im AVR-GCC-Tutorial über Integer gelesen hast, sei alles was man über diesen Themenkreis und dem darüberliegenden Themenkreis 'Datentypen' wissen muss, dann hast du dich kräftig geschnitten. Das AVR-GCC-Tutorial ist im übertragenen Sinne der Spezialkurs an der Vokshochschule "Business English". Dort lernst du extensiv, wie im englischen Sprachraum zb das Datum geschrieben wird, wie Geschäftskorrespondenz aussieht, welche Phrasen wofür benutzt werden, Anreden in Geschäftsbriefen, wie man firmenintern mit jemandem spricht, sich vorstellt etc. etc. Wenn du dich aber zu diesem Kurs anmeldest und vom Vortragenden erst mal eine Einführung haben willst, wie das jetzt mit dem 'am', 'is', und 'are' funktioniert und wann man "the" als "sä" aussprocht und wann als "si", dann wird dich der in den Kurs "Englisch I" schicken. AVR-GCC-Tutorial ist der Spezialkurs: C auf dem AVR - welche Spezialitäten gibt es, was findet man so nicht oder nicht so ausführlich in den üblichen C-Büchern, was muss man wissen, damit man mit seinem Basiswissen in C relativ problemlos in die AVR-Programmierung einsteigen kann. Es ist aber kein C-Kurs! Und war auch nie als solcher gedacht. > Die Auswahl kann ich natürlich nur korrekt treffen > wenn die Schleifen genau kenne und konfigurieren kann. Eun Grund mehr, sich einen K&R zu kaufen.
Gast
#3112098
Maddin schrieb: > Gibt es woanders ein deutsches Tutorial zu dem Thema? Und gleich noch einen drauf: Fuer dieses Hobby brauchst Du zwingend Englischkenntnisse. Die Datenblaetter, ohne die Du nicht auskommen wirst, sind alle englisch. Also, lern Englisch oder such Dir ein anderes Hobby. fonsana
Gast
#3112485
> Ich möchte den richtigen/günstigsten Schleifentyp für das zu lösende > Problem einsetzen. Selbst sowas macht heutzutage der Compiler alleine ... Und Englisch ist wirklich ZWINGEND notwendig. Für die Grundkenntnisse zwar nicht, aber wenn du mit µC anfängst zu basteln, dann MUßT du das Datenblatt lesen (ca. 500 Seiten) und verstehen ( UND ZWAR jeden Satz). Da gleiche für jedes zusätzliche IC, jedoch nur ca. 50 Seiten. Und du wirst ständig darin Informationen suchen ... Also Englisch lernen ... und zwar kein normales Englisch. Am besten du nimmst dir nen Datenblatt von nem µC z.B. http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf
Gast
#3113097
Danke für die umfassende Erklärung. Jetzt habe ich zwar keine Antwort zum Thema Schleifen, aber den Tip ein Buch zu kaufen :-) Englisch ist tatsächlich unverzichtbar, das habe ich auch schon oft beim Lesen der Datenblätter festgestellt. Allerdings lese ich eine deutsche Beschreibung deutlich lieber. Deshalb die Frage nach einer deutschen umfassenden Beschreibung. O.K. ich suche noch weiter im Netz (es gibt alles im Netz <trotzig guck>) bzw. kaufe mir notfalls ein Buch.
Gast
#3113119
Karl Heinz Buchegger schrieb: > Eun Grund mehr, sich einen K&R zu kaufen. Das ist vielleicht untergegangen, aber ist der wichtigste Buchtipp: "The C Programming Language" von Brian Kernighan und Dennis Ritchie, gerne als "K&R" bezeichnet. https://de.wikipedia.org/wiki/The_C_Programming_Language
Gast
#3113121
Suche jetzt bitte nicht nach auf deutsch übersetzte Datenblätter. Da treffen Übersetzungsfehler auf alte Datenblatt-Versionen. Das führt dann zu Fehlern die man sich nicht erklähren kann. Zum Thema Schleifen: Wenn ich eine Schleife mit einer bekannten Anzahl von Durchgängen durchlaufen will, verwende ich eine for-Schleife. Wenn ich eine Schleife durchlaufen will bis ein gewisser Zustand eintritt, verwende ich eine while bzw. do / while Schleife. Das kann aber jeder machen wie es ihm besser gefällt. Maddin schrieb: > Danke für die umfassende Erklärung. Jetzt habe ich zwar keine Antwort > zum Thema Schleifen,
auf deutsch: Solange Ausdruck ein logisches 'Wahr' ergibt, führe "Anweisung" aus. Der Schleifenkörper "Anweisung" kann auch nie ausgeführt werden, wenn der Bedingungsausdruck von vorne herein schon falsch ergibt.
so ähnlich wie die erste Variante, nur dass die Prüfung der Wiederholbedingung am Ende der Schleife erfolgt. Diese Schleife wird also mindestens einmal ausgeführt, denn die erste Prüfung des Ausdrucks erfolgt erst am Ende des Schleifenkörpers.
der Fall ist ähnlich gelagert wie die erste while-Schleife, nur das hier die Möglichkeit besteht, einen Initialisierteil bzw. eine zur Schleife gehörende Anweisung an einer Stelle zusammenzufassen. die for-Schleife ist identisch zu
ihr häufigster Einsatzzweck ist eine sog. Zählschleife, bei der eine Variable beginnend von einem Startwert hochgezählt wird, bis ein Endwert erreicht ist. Zb bei der Programmierung von Arrays kommt sowas oft vor:
Die äquivalente Form als while Schleife wäre
In allen Fällen gilt die übliche C-Konvention: ein arithmetischer
Ausdruck, der das Ergebnis 0 hat, gilt als logisch Falsch, alles
ungleich 0 gilt als logisch Wahr.
Auch wenn in der Syntax der Schleifenkörper nur aus einer Anweisung
besteht, so kann man selbstverständlich dort auch mehrere Anweisungen
unterbringen, wenn man sich daran erinnert, dass eine Sequenz von
Anweisungen, eingeschlossen in {-} Klammern, ein sog. 'Block'
seinerseits als eine einzige Anweisung zählt.
Das war 'in a nutshell' das Wichtigste zum Thema Schleifen. Gleich nach
dem allerersten Programm, welches ein Neuling traditionell schreibt
ist sein zweites Programm traditionell ein Programm mit Schleifen. Zb ein Programm welches alle Zahlen von 1 bis 10 ausgibt, samt den zugehörigen Quadratzahlen
Schon alleine daran, dass bereits das 2-te Programm eines Neulings eine for-Schleife enthält, kannst du erkennen, welche Bedeutung diese hat. Und du kannst vielleicht ermessen, was dir dein Buch auf den restlichen 190 Seiten sonst noch so alles beibringen wird, von dem du bisher noch nicht die geringste Ahnung hast und warum daher das Zusammentragen von anlassbezogenem Achtelwissen durch Fragen in einem Forum nicht sinnvoll ist. Hier bewegst du dich in einem Bereich, in dem man systematisch Schritt für Schritt sein Grundlagenwissen aufbaut. Dass es dann selbstverständlich noch Detailfragen geben kann und auch wird - kein Thema. Da bist du dann im Forum gut aufgehoben. Eine Besonderheit der for-Schleife ist, ein leerer Ausdruck ist wahr. Deshalb sieht man oft:
Gast
#3118258
Danke Danke Danke besonders an Karl Heinz Buchegger und Peter Dannegger. Genau diese Infos in komprimierter Form habe ich gesucht. Jetzt habe ich einen Überblick und verstehe (ein wenig) die Denkweise bei der C-Programmierung. So ein erster Einstieg ist sehr wichtig um nicht die Motivation zu verlieren. Den Buchkauf werde ich mal überdenken. Ihr habt einen C-Einsteiger glücklich gemacht, aber jetzt gehts ans Programmieren und Basteln :-)
Gast
#3132896
Tip: Besorge Dir ein Buch über "Programmieren auf dem PC", das Dir eine (kostenlose) Entwicklungsumgebung für den PC (z.B. VisualStudio) mitliefert. Es ist viel, viel einfacher, mit erklärten Beispielen auf den PC programmieren zu lernen, als es gleich mit einem µC zu versuchen. Maddin schrieb: > Den Buchkauf werde ich mal überdenken. > Ihr habt einen C-Einsteiger glücklich gemacht, aber jetzt gehts ans > Programmieren Völlig falscher Weg. Ist wie: "ich habe mir ein Auto gekauft, jetzt fahre ich mal ein paar tausend Kilometer und überlege dann, ob ich einen Führerschein mache." Karl Heinz sollte sich eigentlich in den Hintern beissen daß er sich soviel Mühe gemacht hat :-(
Gast
#3149185
Udo Schmitt schrieb: > Völlig falscher Weg. > Ist wie: > "ich habe mir ein Auto gekauft, jetzt fahre ich mal ein paar tausend > Kilometer und überlege dann, ob ich einen Führerschein mache." > Karl Heinz sollte sich eigentlich in den Hintern beissen daß er sich > soviel Mühe gemacht hat :-( Lieber Udo Schmitt Ich kann dich beruhigen, der Karl Heinz muss sich nicht in den Hintern beissen. Im Gegensatz zu dir hat er einen sehr informativen, hilfreichen und interessanten Beitrag zu meiner Frage geschrieben. Diese Informationen haben mir so sehr geholfen, das ich bereits zwei kleine Projekte umsetzen konnte. Auch andere Leser dieses Forums profitieren möglicherweise von diesem Beitrag. Dein Beitrag ist möglicherweise gut gemeint, bringt jedoch auch einen falschen Vergleich. Beim Programmieren kann man sorglos testen und dabei was lernen (das ist auch das Ziel). Beim Autofahren sind Menschenleben in Gefahr wenn man drauflos fährt. Weiterhin ist in deinem Beitrag keine Information zur gestellten Frage zu finden. Danke an alle hilfreichen Leser und Schreiber in diesem Forum. Maddin Karl Heinz Buchegger schrieb: > Schon alleine daran, dass bereits das 2-te Programm eines Neulings eine > for-Schleife enthält, kannst du erkennen, welche Bedeutung diese hat. Ich musste irgendwas kopieren. Wieder mal: Lieber Karl Heinz, schreib doch mal ein Buch! Du kannst das alles immer so toll erklären. Auch wenn mir das jetzt nichts neues sagt (das kann ich schon) und ich vermutlich dann kein Buch mehr brauche, würde ich es trotzdem kaufen. Aber in jedem Fall würdest du einer Menge Leuten damit helfen. Liebe Grüße Frank
Gast
#3151216
F. Fo schrieb: > Wieder mal: Lieber Karl Heinz, schreib doch mal ein Buch! Und das kaufen und lesen dann die Leute nicht, die schon jetzt lieber hier fragen statt ein Buch zu kaufen und zu lesen. Marwin schrieb: > F. Fo schrieb: >> Wieder mal: Lieber Karl Heinz, schreib doch mal ein Buch! > > Und das kaufen und lesen dann die Leute nicht, die schon jetzt lieber > hier fragen statt ein Buch zu kaufen und zu lesen. Ja, das hat der Karl Heinz ein kleines Problem: Mit seinen Programmier- tipps hat er bei den Leuten sehr hohes Ansehen, nicht jedoch mit seinen Buchtipps ;-) So auch hier: Karl Heinz Buchegger schrieb: > Eun Grund mehr, sich einen K&R zu kaufen. Von diesem Tipp hält wohl keiner sonderlich viel, obwohl es sich dabei sogar um einen Megamultitipp handelt, der nicht nur ein einzelnes Problem, sondern nahezu unendlich viele löst. Aber vielleicht wissen die Leute von heute einfach nicht mehr, wie man ein Buch bedient. Da fehlt ja auch die Maus :) Yalu X. schrieb: > Aber vielleicht wissen die Leute von heute einfach nicht mehr, wie man > ein Buch bedient. Da fehlt ja auch die Maus :) Aber man kann mit einem Finger umblättern, fast wie auf dem Ihh Fon oder Pät :-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|