Hallo Leute, ich fange momentan mit Mikrocontrollern an, ich wähle gerade die Sprache. Da gibt es Bascom , Assembler oder C oder? C++ wird nicht verwendet? Assembler mag ich garnicht, bleibt Bascom oder C. In der Schule programieren wir mit Delphi (objekt Pascal). Nächstes Jahr fange ich mit dem Studieren an, wahrscheinlich Elektrotechnik. Welche Sprache wird dafür empfolen? Wollte mit etwas anfangen, was mir dann im Studium auch etwas bringt. Welche Sprache ist also eurer Meinung nach am geeignetsten? Danke für eure Antworten Marcelo Farinha
Ich würde C nehmen. Zumindest haben wir im Studium damit unsere Mikrocontroller programmiert und es ist ne Ecke unkomplizierter als Assembler. Mit Basic würde ich nicht anfangen(aber das ist nur meine persönliche Meinung) Heutzutage wird aber auch viel Java verwendet im Studium(natürlich nicht zur Mikrocontrollerprogrammierung) Aber mit C machts du definitiv nix falsch
Frei nach Henry Ford: Es kann jede Programmiersprache gewählt werden, solange sie C heißt.
Ich programmiere PC Programme mit Lazarus, Mikrokontroller mit C. C hat auch den Vorteil, dass man notfalls Assembler Befehle einbinden kann. Und den Vorteil, dass sehr viele Beispiele in C existieren. Das Internet ist quasi voll davon, für alle Prozessoren. Alle Hersteller von µC liefern ausschließlich Demos in C. µC in andere Sprachen zu programmieren, das würde bedeuten dass man erst mal viel Zeit investieren muss um die "Grundfunktionen" hin zu bekommen, die bereits bei vielen Herstellern als FW-LIB gratis vorhanden sind. Beispiel FW-Lib von STM32.
Rufus t. Firefly schrieb:
> Es kann jede Programmiersprache gewählt werden, solange sie C heißt.
Cssembler ;-)
C++ bringt auf den µC um die es hier hauptsächlich geht, nicht so viel, dass es sich lohnen würde, wobei die interessanteren Sachen von C++ den Rahmen eines AVR sprengen würden. Assembler ist eigentlich nicht so schlimm. Es hat den einen Vorteil, dass du direkt an der Hardware bist. Viele AVR-Projekte haben im eigentlichen Sinn keine komplizierte Logik. Es reicht die richtigen Steuerregister einzustellen und die Hardware machen zu lassen. Die verbindende Logik ist auch mit Assembler oftmals gut und einfach umsetzbar. C ist sicherlich das Hauptarbeitspferd. Kompexere Logiken, die in Assembler schnell unübersichtlich werden, kann man in C immer noch einfach ausdrücken. Alleine die Befreiung sich nicht um Registerallokierung bzw. Stackmanagement kümmern zu müssen, wiegt schon vieles auf. C ist noch nahe genug an der Hardware, so dass man sich auf den Kompromiss einlassen kann, dass man ein paar Prozentpunkte Performance für den Komfort einer 'Hochsprache' erkauft. Bascom hat einen ganz anderen Ansatz. Bascom versucht die Hardware weitestgehend wegzublenden. An ihre Stelle treten vorgefertigte Module, die ein Programmierer einsetzen kann und die aufgabenspezifisch sind. Das funktioniert prinzipiell gut, solange der Funktionsumfang dieser Module die Aufgabenstellung umfasst. Muss man diese verlassen, dann kann man zwar auch in Bascom auf Registerebene im µC runter. Aber gerade Bascom-Anfänger haben mit dieser Denkweise oftmals so ihre Schwierigkeiten und versuchen den abgesteckten Rahmen der vorgefertigten Module möglichst nicht zu verlassen.
ok danke für eure schnellen Antworten denke ich werde mir mal C etwas genauer durchschauen und ein Tutorial durcharbeiten
Nachdem ich gerade die neue Version von AVR-Ada freigegeben habe, wollte ich Dich wenigstens darauf hinweisen: avr-ada.sf.net Adas Syntax ist sehr nah an Pascal. Insofern ist die Einarbeitung vermutlich einfacher als in C. Aber um C kommst Du nicht herum. Der weit überwiegende Teil neuer embedded SW wird in C programmiert, nach meinem Eindruck. Rolf
Hallo Marcelo, ich selber bin blutiger Anfänger. Ich hatte mit Bascom angefangen, da ich Basic in früherer Zeit gelernt habe und auch heute noch als VB in den Office Programmen sehr oft verwende. Habe mir dann ein Experimentier Board von Franzis zugelegt und war sofort vom µC begeistert. Dann hatte ich mit dem STK500 Probleme und fand dieses Forum. Hier hatte man mir empfohlen Assembler zu lernen. Heute, nach 2 Wochen muss ich sagen, dass dies ein sehr sehr guter Rat war. Mit Assembler ist man direkt in der Hardware und lernt auf diese Weise den µC ausgiebig kennen. Darum ging es mir in erster Linie um den µC. Das erlernen einer Programmiersprache ist sekundär, aber mit Assembler ist man mitten drin im µC und das hat bei mir oberste Priorität. Säter, wenn man den µC kennt und die Anwendungen professionell werden kann man immer noch auf C umsteigen. Will man den µC kennenlernen = Assembler Will man prof. Anwendungen zu Hauf = C Zwischending zwischen Assembler und C = Basic Das ist meine persönliche Meinung und ich möchte keine Diskussionen vom Zaun brechen. Gruß Pebez
Hast du jetzt aber.
Asm ist ok, ich würde aber nicht unbedingt dazu raten.
Grund: eher unübersichtlich und noch mehr Fehlermöglichkeiten
als in C.
Den Vorteil, sehr effektiven Code schreiben zu können, hat
und braucht man nicht als Anfänger.
Ein anderer Vorteil wäre wie gesagt, näher am Prozessor zu sein
und ihn besser kennen zu lernen. So groß ist der Unterschied zu
C da aber auch nicht. Denn Register etc. muß man so oder so
kennen und sich aus dem Datenblatt und holen, und ob man
Schleifen und Fallunterscheidungen auch noch in ASM macht,
hilft einem auch nicht viel weiter.
Assembler kann man zur persönlichen Weiterbildung mal
irgendwann in Ruhe aus Spaß anschauen; wirklich brauchen
wird man es lange nicht.
Der Rat zu C ist sicher nicht schlecht. Man hat wenig
Einschränkungen, hat eine brauchbare Sprache, die man auch
anderweitig nutzen kann und viele Beispiele und leichte
Hilfe.
BASIC kannst du komplett in die Tonne treten.
Erstens ist die Sprache von sich aus schon sinnvoll wie
ein Kropf, und zweitens kann dir kaum jemand bei Problemen
helfen, weil alle mit Ahnung nicht BASIC nehmen.
Die paar Fragen hier im Forum zu BASIC enden regelmäßig
als Trauerfall.
Also eigentlich nix neues, außer daß ich mich gegen:
> Zwischending zwischen Assembler und C = Basic
vehement verwahre.
C und Assembler sind noch halbwegs benachbart, BASIC
ist eine andere Welt und hier kaum sinnvoll.
Hallo Klaus, ich wollte doch niemandem zu Nahe treten :-) Für mich ist Basic weder LOW noch HIGH. Den µC richtig kennen lernen, dass ist es. Wenn ich an das bisher gelernte in Anlehnung gehe, ist Asm keineswegs kompliziert, WENN man sich an die Grundregeln hält. Dann bekommt man auch einen sehr gut Strukturierten Code hin :-) Guts Nächtle........ Gruß Pebez
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.