PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++



icebreaker
07.07.2009, 18:03
Würde gern anfangen mit programmieren für Roboter.
Ich bin 13 Jahre alt. Meine Frage:

ist es sinnvoll mit C++ anzufangen oder gibt es da bessere Vorschläge

und kann ich wenn ich C++ für Computer lerne dies auch auf die Robotik übertragen??

Und kann ich C++ auch für Asuro verwenden?? (den ich mir bald bestellen werde)

mfg Lukas

linux_80
07.07.2009, 18:59
Hi,

was meinst mit Anfangen ?

Ich würd erstmal mit C ohne ++ starten, wenn man sonst noch keine Erfahrung mit programmieren in der Richtung hat.
Wenns dann später langweilig wird kann man bei C++ weitermachen.
Wobei C++ für die kleinen µCs nicht unbedingt optimal ist.
C++ würd ich mehr bei PC-Programmen verwenden, dort gibts genug RAM usw. und man kann sich mit den Klassen austoben.

icebreaker
07.07.2009, 19:12
danke erstmal!!
mit anfangen meine ich das ich noch null Erfahrung habe und gerne einen Roboter bauen würde.
Also ist C++ fü Roboter eigentlich nicht so gut??
und wo kann ich C lernen??

BurningBen
07.07.2009, 19:32
Grundlagen für C sind beim Asuro in der Anleitung dabei.
Ansonsten würde ich mal google bemühen, um ne Einführung in C zu finden.
mikrocontroller.net hat auch ne schöne Anleitung passend zu µControllern

Da_Vinci13
08.07.2009, 12:09
Hi,
Um den Asuro zu programmieren reicht die in der Anleitung vorhandene Anleitung. Sobald du dann aber selbst einen Roboter bauen willst, kannst du die Asuro.lib nicht mehr nutzen, dann wird das ganze einbisschen schwieriger, dafür würde ich dann ein Buch kaufen (Ich persönlich finde es besser mit Bücher zu lernen anstatt mit dem Internet, denn das macht nicht so müde und man kann sich richtig ins Thema vertiefen!)

Liebe Grüsse!

icebreaker
08.07.2009, 13:42
danke für die vielen Antworten!
ich denke ich wede erstmal versuchen den Asuro zusammenzubasteln und ihn erstmal wie es in der Anleitung steht zuprogrammieren. Danach kommt dann denk ich mal am besten das von mikrocontroller.net vorgeschlagene Assembler. :) :)

-jan_
08.07.2009, 16:00
Assembler - Naja. Ist sicher nicht schlecht wenn man verstehen will, wie was im Controller funktioniert. Oder wenn man extrem zeitkritische Anwendungen hat. Kommt bei mir nur seeeehr selten vor...

Ansonsten ist meiner Meinung nach eher C zu empfehlen.
Gründe:
-C ist plattformübergreifend (nahezu jeder µC kann damit programmiert werden)
-C kann man auch PC-Programme programmieren
-C programmieren geht schneller!

Assembler ist schnell, dafür ist der Code ewig lang, unübersichtlich, man muss für jeden Controllertyp einen Befehlssatz lernen etc.

Aber das ist sicher wieder ne Glaubensfrage. Wenn einem Auswendiglernen von Assembler-Befehlssätzen Spaß macht, dann sollte man Assembler lernen ;)

icebreaker
08.07.2009, 16:57
Dann werd ich denk ich mal doch nich den Rat von mikrocontroller.net bevolgen und mit C anfangen denn auf auswendig lernen von Assembler-Befehlssätzen hab ich auch keine Lust.

mfg Lukas

Besserwessi
08.07.2009, 18:13
Das lernen des Befehlssatzes ist bei Assembler das kleinste Problem, wenn man die grobe Struktur kennt kann man den Rest nachschlagen. Das Programmieren dauert in der Regel länger als in C, vor allem wenn Rechnungen mit mehr als 8 Bits nutzt oder das Programm länger wird.

Ich würde aber auch C empfehlen, vor allem weil es für die AVRs ja einen guten, freien C Compiler gibt. Der Umstieg von C++ nach C ist ja auch nur ein kleiner Schritt.

Es hilft aber auch für die C programmierung wenn man ASM kann. Man weiss dann, was schnell geht, und was dauert. Außerdem kann man im Zweifelsfall kontrollieren was der Compiler aus dem C code gemacht hat, und kann so einige Fehler leichter finden.

Asuroneuling
09.07.2009, 16:43
Guck dir mal das C-Tutorial bei Wikibooks an.

-jan_
10.07.2009, 13:23
Da hast du recht Besserwessi - es kann sicher nicht schaden beides zu können.
Nachschlagen kann man Befehle, ja. Aber wenn man optimal programmieren will sollte man die gängigsten schon kennen. Ich hätte keine Lust alle 3 Zeilen in der Tabelle nachzuschauen welchen Befehl ich brauch: Da wird man dann wirklich nie fertig..

Bei C ist das zwar am Anfang genauso, lässt sich dann aber relativ leicht auf andere Controller übertragen - wenn mans erstmal kann.

Wir haben in der Ausbildung (also Berufsschule) auch erst Assembler gelernt. Hat mich aber überhaupt nicht gereizt, weils mir irgendwie viel zu umständlich war und ich in der Firma auch nur C programmiert hab. C wurde in der Schule praktisch garnicht behandelt, was ich heutzutage irgendwie blöd find ^^
Schließlich werden mittlerweile für den Großteil der Controller eher Hochsprachen eingesetzt..

Hab mir C während der Ausbildung eigentlich komplett selbst beigebracht - Hauptquelle war dabei das mikrocontroller.net AVR-GCC-Tutorial. Das ging eigentlich ganz gut!

Außerdem hat C noch den Vorteil, dass relativ viele Programmier- und Scriptsprachen davon abgeleitet sind.
Zum Beispiel Perl, PHP, etc. sind von der Syntax ähnlich bis identisch sodass auch Webanwendungen kein Problem mehr sind.