Was nun: Assembler oder C

Gast #194181
Lesenswert?

Hallo,

nach langem hin und her habe ich mich entschlossen in Assembler
einzusteigen um meine Atmel Projekte umzusetzen. Nun muss ich
feststellen dass eigentlich sehr viel mit C programmiert wird, auch
hier im Forum.
1.) Täuscht mich da mein Eindruck?
2.) Ist C leichter zu erlernen?
3.) Wenn C: Welche Nachteile bringts mit sich? (code wurd grösser,
oder?)

Danke für eure Antworten bzw. Empfehlungen, auch für eine vielleicht
schon öfter geführte Diskussion.

Gruss, Markus
Gast #194182
Lesenswert?

1) nein
2) nein, und wenn du mauskontrollierte IDEs gewöhnt bist wird dich der
gcc anfangs oft an den Rand des Wahnsinns bringen.
3) zur ersten blinkenden LED kommst du vermutlich schneller mit
assembler, wenn du das letzte Quentchen Performance benötigst ist
assembler ebenfalls die erste Wahl, spätestens bei einer komplexen
Menüführung und LCD-Animation gewinnt c (und der notwendige Code ist
vermutlich kleiner als mit assembler)

kommt halt immer drauf an was du programmierst. Ich würde c verwenden
und zeitkritisches mit inline-assembler erledigen.

grüße leo9
Gast #194183
Lesenswert?

"....mich entschlossen in Assembler
einzusteigen um meine Atmel Projekte umzusetzen."

Wie sind Deine Atmel-Projekte denn bisher realisiert?

Warum willst Du umstellen?, wenn Du umstellen willst, oder sind das so

so Dinege die nur im Kopf existieren?

Erzähl erstma....

guude

TS
Gast #194184
Lesenswert?

@Thomas:
Meine "Projekte" sind bisher nur Studienobjekte, also Blinklampen,
Schalter etc, alles in Assembler gemacht. Ich muss halt sagen dass ich
mich da schon sehr schwer tue bis was sitzt.
Die Überlegung zum Wechseln kommt halt auch daher weil viele Routinen
in C angeboten werden (z. B. um Grafikdisplays anzusteuern), und in
vielen Diskussionen über C geredet wird. Letztlich will ich halt nach
einem Jahr einarbeiten müssen dass es der falsche Weg war.
Mein erstes grösseres Projekt soll ein Treppenhausautomat werden. Da
wird der Code schon umfangreicher sprich auch unübersichtlicher,
vorausgesetzt ich kann das integrieren was ich mir vorstelle.
Tja, in meinem Fall ist vermutlich auch problematisch durch die
Vorbelastung mit Sprachen aus der Fensterwelt (VB + PB7)...

Gruss, Markus
Gast #194185
Lesenswert?

Für den Treppenhausautomat bleib bei assembler, das Jahr Einarbeitung
brauchst du um deine Schaltung vor Störungen zu schützen. Als ersten
Tipp: alle Ein- und Ausgänge zum uP galvanisch trennen, seriöse
Stromversorgung (C direkt am uP) und watch-dog (falls doch was
passiert)

grüße leo
Gast #194186
Lesenswert?

Din Jahr Assembler ist auf jeden Fall nicht verschenkt. Mit Assembler
verstehst Du am Besten, was der Microcontroller wirklich macht. Wenn Du
bei ASM leidlich durchblickst, dann lohnt sich aber ein Blick auf C.
Dabei wirst Du feststellen, dass Dir Deine Assemblerkenntnisse sehr
weiterhelfen. Viele C-Konstrukte finden ein Äquivalent in AVR-ASM. Zum
Verstehen von C ist es auch oft hilfreich, den ASM-Code anzuschauen,
den de Compiler generiert hat -> auch hier hilft Dir Dein ASM-Wissen
weiter.

Wenn Deine Programme größer werden, bist Du mit C wesentlich schneller
und machst auch weniger Fehler (der Compiler behält bei großen
Programmen besser den Überblick als Du selbst!).

Übrigens: die 2.Sprache lernt sich WESENTLICH schneller als die erste
:-))

Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren