avr mit c++ programmieren?

Gast #228322
Lesenswert?
• ▲
▼
also ich progge AVRs ziemlich cool mit C++, sogar mit nem
Klassendiagramm... ist echt ne ganz andere qualität an Software...
stimmt zwar das der eigentliche hex dann größer wird aber die
produktivität und übersichtlichkeit beim Entwurf und der Realisierung
sind ein Unterschied wie Dreirad fahren und Jet fliegen
und ich denke die Reise geht eh da hin, denn die Controller werden
immer schneller und haben immer mehr Speicher...


gruß Jahn
Gast #228324
Lesenswert?
• ▲
▼
ja klar muss man zu assembler greifen wenn es auf jeden takt ankommt...
;-) kommt halt auf die aufgabe an... ich keene noch nen kollegem der
ist pc-programmierer und war vor 15 jahren noch der meinung nicht C
lernen zu müssen weil er in assembler alles viel besser lösen könne und
das ganze viel performanter ist ... na ratet mal wie viel assembler der
heute noch programmiert schmunzel
#228325
Lesenswert?
• ▲
▼
Ein AVR ist aber kein PC.
Beim PC programmiert man unter einem Betriebssystem, welches sich um
die Hardware kümmert.
Beim AVR programmiert man direkt an der Hardware, da sollte man die
Hardware schon kennen und das geht mit ASM am einfachsten. Sicher
erspart einem eine Hochsprache eine Menge Arbeit, aber ganz ohne
ASM-Kenntnisse erreicht man damit (beim MC) nicht allzuviel.

...
Gast #228327
Lesenswert?
• ▲
▼
Ich würde das nicht so unterschreiben, das man erst Assembler und dann
erst C programmieren können muß.

Ich khabe schon verschiedene Micros in Assembler programmiert, aber den
AVR Befehlssatz kann ich maximal LESEN. Das ändert aber nichts daran,
daß ich fast nur noch AVR's benutze, in Verbindung mit avr-gcc auf
FreeBSD.

Ich komme damit eigentlich sehr gut klar, hätte aber auch keine
Probleme
mal Inlines zu schreiben, oder eben wirklich den Assembler zu nehmen.
Dann muß ich halt erst einmal ein Bisschen lesen..

Gruß,

Holm
Gast #228328
Lesenswert?
• ▲
▼
Hallo Leute,
erst mal vielen dank für die vielen zuschriften.

ich muß wohl mal dazu schreiben das ich mit µC bis jetzt noch gar nix
gemacht habe, programiere SPS und will mal was anderes machen. µC sind
ja z.t. noch flexibler und schneller als SPS. Programmiersprache kenne
ich nur Basic aus der schule ist aber viele jahre her. uberall wo ich
lese kommt C++ zum einsatz und wollte es deshalb mal lernen und damit
auch in die welt der µC einsteigen vorzugsweise Atmel.

ML
Gast #228329
Lesenswert?
• ▲
▼
Hi

Wichtiger als die Programmiersprache ist es ,sich erst mal mit dem
Controller und dessen interner Hardware auseinander zu setzen.
Ansonsten ist es nämlich egal ob du in Assembler,C oder C++ nicht
weisst was du machst.

MfG HG
Gast #228331
Lesenswert?
• ▲
▼
>ist echt ne ganz andere qualität an Software...
die unterschiede zeig mir mal! (Jet und dreirad)
wenn man c richtig programmiert wirds genau so übersichtlich,
portierbar, wiederverwendbar! Man darf halt nich alles in eine datei
stecken

stell doch mal ein proj vor wo du denn hauptvorteil von c++ vererbung
und polymorphie so richtig schön verwendet hast.

gruß
Dreiradfahrer
Gast #228332
Lesenswert?
• ▲
▼
Meiner Meinung nach eignen sich insbesondere OO-Sprachen sehr gut fuer
hardware-nahe Programmierung (wie bei controllern). Alle hardware
Komponenten sind sozuagen Parade-Beispiele fuer Objekte. Was allerdings
dagegen spricht, ist der ueblicherweise groessere code. Wenn man
genuegend Flash/RAM + MHz hat, sollte man sich diesen Luxus aber
durchaus leisten.
Gast #228333
Lesenswert?
• ▲
▼
@dreiradfahrer: Hat zwar nichts mit uCs zu tun, aber ich fand es schon
ganz angenehm, libbasicard, meine Implementation der BasicCard API (das
ist eine Smart Card aka Chipkarte) in C++ zu schreiben. Nicht, dass es
nicht in reinem C gegangen wäre, aber so war's bequemer. Inklusive
Vererbung und Polymorphismus. Ich hatte vorher bereits angefangen,
libbasiccard "nur" in C zu programmieren, habe es dann aber
verworfen, weil mir eine Realisierung in C++ übersichtlicher erschien.

Objektorientierte Programmierung kann schon übersichtlicher sein. Ob
man das auf einem uC machen muss, weiß ich allerdings auch nicht. Da
bin ich mit Standard-C bisher genauso gut gefahren.
Gast #228336
Lesenswert?
• ▲
▼
Der gcc (GNU-Compiler) unterstützt C++ und ist obendrein kostenlos.
Funktioniert prima, braucht aber ein wenig mehr Speicher als reines C.

Die Übersichtlichkeit und Fehlerfreiheit (im Vergleich zu C, aber vor
allem im Vergleich zu Assembler!) machts aber dreimal wieder wett.
C++ ist und bleibt m.E. die Sprache der Wahl: denn: Alles ist
übersichtlich möglich, beliebige Abstraktionslevel lassen sich
angebracht darstellen (von Bitmanipulationen bis hin zu komplexen
Klassenhierarchien. Versuch letzteres mal in Assembler!)

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