Forum: Offtopic Was nun: Assembler oder C


von Markus (Gast)


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

von leo9 (Gast)


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

von Thomas (Gast)


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

von Markus (Gast)


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

von leo9 (Gast)


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

von Stefan Kleinwort (Gast)


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

von Markus (Gast)


Lesenswert?

@Stefan:
Danke für deine Ausführungen. Hab jetzt beschlossen bei ASM zu bleiben.
Beisse gerade an ner Tastenentprellung rum ...

Gruss, Markus

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.