Hei, Sp666dy,

genau das war vor rund zwei Monaten auch meine Frage, mein Problem.

Ich hatte mit ersten Spielereien an einem Tiny13 mit Assembler angefangen. Mit Assembler hatte ich längst vergessene Erfahrungen, das war mir also nicht sooo fremd. Und ich hatte eigentlich mit Vergnügen mich eingearbeitet und die ersten zig oder paar hundert Zeilen Assembler geschrieben.

C wollte ich (sowieso schon) seit Jahren lernen, da war mir der Einstieg schwer gefallen, aber nicht die Entscheidung, da einzusteigen. Ich finde, dass eine Hochsprache für komplexere Dinge eben notwendig ist - versuche doch mal bitte in Assembler einen Sinus zu berechnen . . . .

Meine Angst vor der hardwarenahen Programmierung in C war unbegründet, da kann man mit Erfahrung in Assembler FAST nix mehr falsch machen (bis auf die irrsinnigen Operatoren |= oder PORTB &= ~(1<<PB3) - - blos um einen einzigen Port auszukippsen ).

Auf Anraten und Drängen des Forums hatte ich mir den Kernighan-Ritchie gekauft, die Bibel der Sprache C - und hätte ihn beinahe weggeworfen, weil da drin natürlich keinerlei Bezug zur hardware-nahen Programmierung der AVR´s stand. Diese Programmierung hatte ich mit dem RN-Tutorial für C und mit dem C-Tutorial im microcontroller-net gelernt. Nicht nur - es war auch etliches an experimenteller Programmierung dabei .

Schliesslich war es bei mir ein ziemlich runder (manchmal schauderhaft langwieriger) Weg und heute kann ich sogar Fehler finden, die ich selbst gemacht habe. Die Programme sind noch nicht wirklich komplex, aber ich bin mit mir zufrieden.

Absolut beruhigend und wirklich fürsorglich ist die Betreuung im Forum. Ich hatte das ganze Spektrum durchlaufen - Einsteigerprobleme zu Beginn, unsinnige Probleme anfangs, Schlampereien danach, schliesslich ziemlich versteckte, vertrackte Fehler. Bisher habe ich - und sehr oft mit Hilfe der hiesigen Kollegen, alle Fehler gefunden.

Also mein Rat:
- Lerne C - für komplexere Probleme eine gute Sprache.
- Assembler sollte wirklich sein - weil das auch im AVR-GCC die (einzige) Basis für hardware-nahe Lösungen ist.
- Als hardwarenahe Tutorials kann ich die beiden genannten wirklich empfehlen. Es gibt zahllose andere C-Tutorials im Netz - ich kam mit der hiesigen Auflistung incl. Buch klar.
- Ach ja, und ich hatte mir WINAVR mit AVRStudio und zum Programmieren ponyprog installiert. Das passt für Assembler UND C.

Wichtig ist aus Gründen der Vollständigkeit der Hinweis auf BASCOM. Dort hat man mW nach weniger Kontakt mit der Hardwareseite. Es gibt offensichtlich zahllose Bibliotheken, die einem hardwareseitig helfen. Das ist aber natürlich nicht NUR ein Vorteil - man kann manche Lösung dann nur mühevoll mit eigener Bibliothek oder garnicht bringen.

Viel Glück bei Deinem Einstieg.