Forum: Mikrocontroller und Digitale Elektronik ASM oder C als Anfänger


von Andreas V. (wicky)


Lesenswert?

Hallo,

da ich nun endlich konsequent mit der Arbeit am µC beginnen möchte, eine 
Frage vorweg.

Sollte man sich als Anfänger erst mit ASM-Programmierung beschäftigen 
und dann auf C umsteigen oder spielt das keine wesentliche Rolle?

Ich denke ich werde auf jeden Fall früher oder später dann wohl nur auf 
der C Schiene arbeiten.

Vielen Dank im Vorraus.

von nichtGast (Gast)


Lesenswert?

Bei ASM merkt man, was man genau tut. Allerdings muss man auch alles 
selber machen.
Nach meiner Meinung ist das Einsteigen mit ASM hilfreich, eben weil man 
da alles selbst machen muss, spaeter nutzt man dann die entsprechenden 
Routinen in C und weiss was diese tun. Das bekommt man wahrscheinlich 
nicht so mit, wenn man gleich in C einsteigt.

doch Gast

von noips (Gast)


Lesenswert?

An der Schule haben wir im Fach Mikrocontrollertechnik Assembler 
gelernt. Jetzt programmiere ich nichts mehr in Assembler, aber ich bin 
froh, Assebler etwas zu können. Beim Debuggen z.B. war mir schon mal das 
Anschauen des Assembler-Codes hilfreich. In Hersteller-Dokus gibt es 
manchmal Programm-Beispiele nur in Assebler. Da waren mir 
Assemblerkenntnisse auch eine Hilfe. Es wird heute zwar eher weniger in 
Assembler programmiert, aber es schadet nicht, sich etwas in Assembler 
auszukennen.

von U.R. Schmitt (Gast)


Lesenswert?

Du kommst so oder so nicht ganz drum herum Assembler zu verstehen. Nur 
so siehst Du bei Problemen was wirklich passiert. Wenn Du also keine 
Berührungsängste hast dann würde ich Dir auf jeden Fall das Assembler 
Tutorial hier empfehlen.
Sobald Du mit 16 Bit Festkommazahlen rechnen willst, oder gar mit 32 Bit 
oder Gleitkommazahlen, oder Module willst die für verschiedene Projekte 
auf verschiedenen µCs eingesetzt werden, dann ist C sicherlich die 
einfachere und sicherere Variante.
Allerdings musst Du für C auf jeden Fall nochmal eine längere Lernkurve 
einplanen. Auch solltest Du C auf dem PC üben um einfacher ein Gefühl 
dafür zu bekommen.
Es kommt halt auch auf Deine schon vorhandenen Progammierkenntnisse an, 
darüber hast Du bis jetzt nichts gesagt.

von z.b. so (Gast)


Lesenswert?

ich bin der meinung, dass man gerade als anfänger so grundlegend wie 
möglich programmieren sollte - nur so lernt man, wirklich auf den 
compiler zu "hören" und auch den zusammenhang mit include-files usw.

auf mirkocontrollern kann man das ganze noch eine stufe weiter treiben 
und mit assembler starten. meiner meinung nach lernt man damit den 
prozessor am besten kennen - es muss ja nicht gleich eine komplette 
alarmanlage inkl. gsm und so weiter sein. ein kitt, ein lcd und - ganz 
wichtig - ein stack-beispiel sollte man aber auf jeden fall einmal 
gemacht haben.

danach kann man recht bedenkenlos auf c umsteigen (am besten mit den 
gleichen beispielen) und sich auf dem weg evtl. noch ein paar generierte 
asm-files anschauen - "wie setzt der compiler welchen befehl um?"

erst wenn man diese schritte verstanden hat, würde ich anfangen eine 
"richtige" ide zu verwenden (mit code-completion, evtl. automatischer 
header-einbindung, ...)

von Düsendieb (Gast)


Lesenswert?

Na Ja,
für die ersten zwei oder drei Programme ist Assembler noch OK, aber dann 
ist auch gut.

Dann sollte man lieber lernen vernünftig komentierte Programme in C zu 
schreiben.

Axel

von Chris (Gast)


Lesenswert?

Kleine Programme, wie z. B. die im AVR-Tutorial, sollte man schon in 
Assembler schreiben können (nicht nur verstehen). Das macht einem das 
Leben später wesentlich leichter. Die Hauptgründe hierfür wurden weiter 
oben bereits genannt.

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
Noch kein Account? Hier anmelden.