Wir sind in der Mikroprozessorprogrammierung von Assembler auf C umgestiegen. Ich habe Zweifel, dass dies eine gute Idee ist
Fürchte dich nicht, niemand entwickelt mehr neue Programme in 100% Assembler. Heutzutage kann C sogar für die kleinsten und verrücktesten 8-Bit-Architekturen verwendet werden. Allerdings macht einige Assembler wissen , dass Sie einen deutlich besserer C - Programmierer. Ein oder zwei kleine Details in einem Programm müssen immer in Assembler geschrieben werden.
Ich kann sagen, dass die C-Syntax viel einfacher zu erlernen ist als die Assembler-Syntax.
Ja, die Syntax ist sicherlich einfacher. Das Erlernen der gesamten C-Sprache mit all den lästigen Details ist jedoch weitaus komplexer als das Erlernen aller Details eines bestimmten Assemblers. C ist eine viel größere und umfassendere Sprache. Andererseits müssen Sie möglicherweise nicht alle Details lernen.
C ist einfacher zu verwenden, um komplexere Programme zu erstellen.
Tatsächlich bietet C Mechanismen für den modularen Programmaufbau, wie beispielsweise die Kapselung und lokale Bereiche / lokale Variablen. Und C verfügt über eine Standardbibliothek sowie eine enorme Menge an Ressourcen, die in den letzten 30 Jahren geschrieben wurden. Und vor allem ist C portabel.
Das Erlernen von C ist irgendwie produktiver als das Erlernen von Assembler, da sich in C mehr Dinge entwickeln als in Assembler.
C verfügt über zahlreiche vorgefertigte Funktionen, Bibliotheken und Ressourcen, sodass das Rad weniger neu erfunden werden muss. Ansonsten ist Ihre Aussage subjektiv. Ich glaube, es ist eine Frage der persönlichen Präferenz.
Ich bin zum Beispiel ein erfahrener C-Programmierer, der gelegentlich C ++ programmiert. Ich finde mich in C ++ weit weniger produktiv, weil ich diese Sprache nicht so gut kenne wie C. Aber nur weil ich das so empfinde, heißt das nicht unbedingt, dass das Programmieren in C produktiver ist als das Programmieren in C ++. Ein erfahrener C ++ - Programmierer hätte sicherlich die gegenteilige Meinung.
Und es gibt viele Aspekte, um "produktiv" zu sein. Ein sehr wichtiger Aspekt ist die Wartungszeit und insbesondere die Zeit, die benötigt wird, um durch die Wartung verursachte Fehler zu beheben. C ist weitaus einfacher zu warten als Assembler.
Assembler ist eine niedrigere Programmiersprache als C und eignet sich daher gut für die direkte Programmierung auf Hardware.
Die Hardwareprogrammierung kann direkt in beiden Sprachen erfolgen. Das einzige, was Sie in C nicht tun können, ist auf Stapelzeiger und Bedingungsregister usw. des CPU-Kerns selbst zuzugreifen. Wenn Sie also mit Hardwareprogrammierung meinen, mit Ihrer eigenen CPU zu sprechen, dann erlaubt Assembler ein bisschen mehr als C. Wenn Sie damit meinen, auf externe Hardware zuzugreifen, dann hat Assembler keinen Vorteil gegenüber C. Aber vielleicht auch Nachteile, da es oft schwieriger zu schreiben ist generischer Assembler-Code für ein bestimmtes externes Gerät als generischer C-Code.
Ist viel flexibler und lässt Sie mit Speicher, Interrupts, Mikroregistern usw. Arbeiten.
Das ist nicht richtig. Mit C können Sie all das auch tun, obwohl Sie sich möglicherweise auf compilerspezifischen C-Code wie das Interrupt-Schlüsselwort verlassen müssen.
Letztendlich müssen Sie beide Sprachen beherrschen, um MCUs mit Schwerpunkt auf C zu programmieren.