Forum

Einloggen | Registrieren | RSS  

silent_max(R)

E-Mail

11.11.2011,
18:28
(editiert von silent_max
am 11.11.2011 um 18:59)
 

Programmierung von Microcontrollern: Assembler, C oder C++ (Schaltungstechnik)

In welcher Sprache programmiert ihr Microcontroller?

C, C++ oder Assembler?

So wie ich es verstanden habe, werden Microcontroller je nach Anwendungswunsch in einer dieser Sprachen programmiert, Assembler für kleine Anwendungszwecke und C/C++ für größere.

Oder liege ich falsch? Was sind eure Erfahrungen?

Gruß

Max

--
Where is the madness ...

OD

11.11.2011,
18:36

@ silent_max

Programmierung von Microcontrollern

Also ich programmiere hauptsächlich in Assembler auch wenn es mittlerweile nicht mehr Standard ist da die meisten Sachen in C programmiert werden ist meiner Meinung nach auch einfacher weil es hier mehr Befehle gibt

Assembler kannst du natürlich auch für größere Programme nehmen ich habe in Assembler auch schon eine LCD Steuerung programmiert ...vorteil ist das diese Programmiersprache sehr Ressourcen sparend ist aber bei den heutigen Speichergrößen brauch man sich darum eig keine Sorgen mehr machen ;)

silent_max(R)

E-Mail

11.11.2011,
18:51
(editiert von silent_max
am 11.11.2011 um 18:51)


@ OD

Programmierung von Microcontrollern

» Also ich programmiere hauptsächlich in Assembler auch wenn es mittlerweile
» nicht mehr Standard ist da die meisten Sachen in C programmiert werden ist
» meiner Meinung nach auch einfacher weil es hier mehr Befehle gibt
»
» Assembler kannst du natürlich auch für größere Programme nehmen ich habe
» in Assembler auch schon eine LCD Steuerung programmiert ...vorteil ist das
» diese Programmiersprache sehr Ressourcen sparend ist aber bei den heutigen
» Speichergrößen brauch man sich darum eig keine Sorgen mehr machen ;)

Heißt, dass ich mit dem Ziel, µC´s in C++ programmieren zu können, aufgrund zu wenigen Resourcen scheitern werde?

--
Where is the madness ...

OD

11.11.2011,
18:57

@ silent_max

Programmierung von Microcontrollern

ich denke nicht weil heutzutage programmieren die meisten in C++ da die Bausteine mittlerweile genug Speicher haben also bis du an die Grenzen stößt musste schon viel programmieren =D .... da brauchste dir eig keinen Kopf drum machen

ich weiß ja nicht in welchem Zusammenhang du jetzt programmieren willst jedoch bin ich noch in der Ausbildung und mir wurde geraten mit Assembler anzufangen um die Vorgänge besser zu verstehen wie man einzelne Bits setzt und so da es auch die sogenannte Maschinensprache ist

silent_max(R)

E-Mail

11.11.2011,
19:05

@ OD

Programmierung von Microcontrollern

Mein Problem ist, dass ich µC-Technik schon mal in der Schule gehabt habe und grad so auf eine 4 gekommen bin, frag nicht wie.

» ich denke nicht weil heutzutage programmieren die meisten in C++ da die
» Bausteine mittlerweile genug Speicher haben also bis du an die Grenzen
» stößt musste schon viel programmieren =D .... da brauchste dir eig keinen
» Kopf drum machen

Ja ok, daarum gings mir eigentlich.

» ich weiß ja nicht in welchem Zusammenhang du jetzt programmieren willst
» jedoch bin ich noch in der Ausbildung und mir wurde geraten mit Assembler
» anzufangen um die Vorgänge besser zu verstehen wie man einzelne Bits setzt
» und so da es auch die sogenannte Maschinensprache ist

Mein Problem ist, dass ich µC-Technik schon mal in der Schule gehabt habe und grad so auf eine 4 gekommen bin, frag nicht wie. Es stimmt tatsächlich, dass man mit Assembler µC-Technik besser versteht als mit C/C++.

Ich will einfach mein Halbwissen über diese Technik in ein richtiges Wissen umwandeln, weil bei mir in der Schule zuerst in C begonnen wurde und dann umgeswitcht wurde auf Assembler.

--
Where is the madness ...

Shinai

11.11.2011,
19:10

@ silent_max

Programmierung von Microcontrollern

Für einfache Sachen finde ich Assembler Super
für komplexere benutze ich aber lieber C da ich es da
übersichtlicher finde
um Grundlagen zu lernen wäre Assembler warscheinlich am besten geeignet

OD

11.11.2011,
19:10

@ silent_max

Programmierung von Microcontrollern

mhm ja dann kann ich dir leider auch nicht wirklich helfen ^^....

ich würde dir einfach raten such dir eine Programmiersprache aus und bleib bei der es gibt zu beiden genug tutorials im internet oder auch bücher also dürfte das kein problem sein

zum testen der software würde ich dir ein arduino duemilanove board (ATMEGA8) raten da haste eig alles drauf was du brauchst ...müsstest dir aber noch einen programmer kaufen



willst du denn PIC`s oder µC programmieren?

sol011

11.11.2011,
19:13

@ OD

Programmierung von Microcontrollern

» willst du denn PIC`s oder µC programmieren?

Wo ist der Unterschied ??????

OD

11.11.2011,
19:18

@ sol011

Programmierung von Microcontrollern

bei PIC's gibt es weniger Befehle als bei µC
außerdem hat man bei PIC's ganz andere Befehler sowie 2 oder mehrere Registerbänke zwischen denen man wechseln muss um zugriff auf die Register zu haben

dann hat man noch ein Arbeitsregister wo alle Rechen/Arbeitsvorgänge ablaufen

und früher hatten PIC's weniger Flashspeicher

sol011

11.11.2011,
19:20

@ OD

Programmierung von Microcontrollern

» bei PIC's gibt es weniger Befehle als bei µC

Ein Pic ist ein µC.
Also keine Unterschiede.

silent_max(R)

E-Mail

11.11.2011,
19:24

@ OD

Programmierung von Microcontrollern

» ich denke nicht weil heutzutage programmieren die meisten in C++ da die
» Bausteine mittlerweile genug Speicher haben also bis du an die Grenzen
» stößt musste schon viel programmieren =D .... da brauchste dir eig keinen
» Kopf drum machen
»
» ich weiß ja nicht in welchem Zusammenhang du jetzt programmieren willst
» jedoch bin ich noch in der Ausbildung und mir wurde geraten mit Assembler
» anzufangen um die Vorgänge besser zu verstehen wie man einzelne Bits setzt
» und so da es auch die sogenannte Maschinensprache ist

Für dich vielleicht als Tipp:

http://www.avr-modelleisenbahn.de/atmega8/0-einleitung.htm

--
Where is the madness ...

OD

11.11.2011,
19:25

@ sol011

Programmierung von Microcontrollern

natürlich gibts es unterschiede wenn du mit assembler programmierst ...wie es bei C aussieht keine ahnung aber bei assembler hast du diese merkmale
PIC:
-mehrere registerbänke
-unterschiedliche befehle (weniger)
-festes arbeitsregister

silent_max(R)

E-Mail

11.11.2011,
19:27

@ OD

Programmierung von Microcontrollern

» natürlich gibts es unterschiede wenn du mit assembler programmierst ...wie
» es bei C aussieht keine ahnung aber bei assembler hast du diese merkmale
» PIC:
» -mehrere registerbänke
» -unterschiedliche befehle (weniger)
» -festes arbeitsregister

Ich bleibe vorerst bei der AVR - Familie und habe dann vor, zur Intel- und/oder Microchipfamilie zu wechseln.

--
Where is the madness ...

OD

11.11.2011,
19:30

@ silent_max

Programmierung von Microcontrollern

ich würde von einen wechsel abraten da du dich dann erneut mit den merkmalen von den chips auseinandersetzen müsstest sprich speicher,taktung etc

silent_max(R)

E-Mail

11.11.2011,
19:31

@ silent_max

Programmierung von Microcontrollern

Weiß jemand von den "alten Hasen", ob die Beta Version von "AVR Studio 5" kostenlos ist??

Zumindest wird auf der Homepage von Atmel geschrieben, dass man ab Studio 5 auch mit C++ programmieren kann.

Ich habe aber bzgl. Kosten nichts rauslesen können.

http://support.atmel.no/bin/customer.exe?=&action=viewKbEntry&id=1001

Mal schauen, ob das mit meinem STK500 auch läuft.

--
Where is the madness ...

OD

11.11.2011,
19:33

@ silent_max

Programmierung von Microcontrollern

als student kannst du diese kostenlos erwerben avr studio4 ist aufjedenfall als konstenloser download erhältlich und man kann da auch mit C programmieren aber avrstudio5 ist deutlicht besser bzw bequemer da du beispielprogramme,datenblätter und lösungsvorschläge eingebunden hast