Da ich im Forum so laut rumgetönt habe, daß Einsteiger kaum berücksichtigt werden, versuche ich mal einen Anfang zu machen, diesen Mißstand zu beheben. Ich bin selbst noch kein Fortgeschrittener, und würde mich daher über die Mitarbeit anderer freuen. !to be deleted!

Allgemein

Man sollte nicht gleich als erstes Projekt versuchen einen besseren PC/Zeitmaschine/Mondrakete zu basteln, sondern erstmal die Funktionsweisen des MC verstehen. Das ist zwar meist recht öde, aber die Zeit hat man später wieder raus.

Projekt auswählen

Die ersten Projekte sollten übersichtlich, und in einer recht kurzen Zeit realisierbar sein, damit der Erfolg vor dem Frust kommt. Auch wenn ein paar blinkende LEDs und Taster nicht der Bringer sind, so hilft es doch erstmal die Grundlagen zu verstehen. Man sollte erstmal versuchen möglichst ohne fremde Hilfe ans Ziel zu kommen, und nicht einfach irgendwelche Supi-Projekte nachbauen.

Projekt planen

Es hilft immer, vom geplanten Projekt ein altmodisches Ablaufdiagramm aufzustellen, da man davon meist schon die komplette Programmstruktur ableiten kann. Überlegen, was man schon kann, oder meint zu können, und was noch zu lernen ist. Häufig wird auch vergessen, das es nicht genügt nur irgendwelche Hardware zu kennen. Z.B. muß man zum Ansteuern einer Festplatte nicht nur deren Anschlußbelegung kennen, sondern auch Dateisystem, Übertragungsprototkoll, evtl. Dateispezifikationen usw. Datenblätter müssen sein, vieles gibt es auch auf deutsch, und häufig sind die verständlicher als die Resonanz einer Frage in einem Forum. Wenn man nicht alles versteht, ist das nicht unbedingt tödlich, man kann es ja nochmal lesen, oder gezielt nachfragen, irgendetwas versteht man immer. Falls man es noch nicht getan hat, sich mit einer Programmierumgebung ausrüsten (Soft- und Hardware). Für AVR, meine ich, lohnt es sich, den ISP und das Grundboard selbst anzufertigen, dann hat man schonmal was gemacht. Die Wahl der Programmiersprache ist eher ein philosophisches Problem: C : Die Sprache der Profis und am weitesten verbreitet, aber sehr abschreckend. ASM : Nahe an der Realität, recht selbsterklärend, aber bei größeren Projekten sehr langer Code, der bei mangelnder Dokumentation, auch für den Programmierer unverständlich wird. Basic, Pascal, JAVA : Für diesen Bereich eher unüblich, weniger Unterstützung Funktionale Sprachen, ADA,... : Wer das will, sollte sich an einer Uni einschreiben

Projekt realisieren

Ob man zuerst die Hardware oder die Software macht ist nicht so wichtig. Wenn allerdings die Hardware schon existiert, kann man schon einzelne Programmteile testen. Falls noch Probleme auftreten, kann man ja Datenblätter wälzen, oder in Foren nachfragen. Der Weg zum Fehler ist ja bekannt, so daß die Suche/Frage präziser gestellt werden kann, was die Chance einer Hilfreichen Antwort ungemein erhöht. Es kommt auch vor, daß beim Formulieren der Frage schon die Antwort herauskommt.