Programmiersprache für AVR ATmega16/32?

OP #4500937
Lesenswert?

Hallo,

Ich habe folgendes vor:
Ich möchte wieder ein wenig mit meinen ATmega's 16/32 spielen. Dies habe 
ich vor Jahren schon in der Schule gemacht, immer in ASM.
Sonst habe ich auch schon mal ein wenig in php gescriptet oder HTML und 
für die Schule natürlich VB und VBA.

Jetzt meine Frage: welche Programmiersprache würdet ihr mir empfehlen 
für die uC's??? Wieder die ASM-Plagerei oder doch lieber Basic per 
Bascom, oder gar direkt ein C-Compiler?? C kann ich zwar nicht, aber ich 
denke, so lange wie ich nicht mehr programmiert habe, kann ich auch kein 
ASM oder VB mehr...

Ich möchte einen analogen Eingang nutzen und einen LCD ansteuern. 
Zumindest vorerst...

Das soll natürlich nicht das einzige Projekt sein...

mfG
Roy
Gast #4500940
Lesenswert?

Meine Empfehlung bei solchen Fragen:

mit Assembler eine LED zum Blinken bekommen, dabei einen Timer 
verwenden, diese LED mit einem Taster (entprellt) ein- und ausschalten 
(ein-blinken-aus).

Da bekommst Du ein Gefuehl, was da eigentlich ablaeuft.

Fuer weitergehende Dinge dann C.

wendelsberg
#4500949
Lesenswert?

Möchtest du ein schnelles Ergebnis wo dich der Hintergrund nicht juckt, 
dann Arduino als Hardware und C als Programmiersprache.

Möchtest du ein ambitionierter Hobbyentwickler sein, dann der nackte 
Atmel und C als Programmiersprache.

Möchtest du studieren (E-Technik, Informatik) dann KANNST du in 
Assembler schauen, MUSST es aber nicht. Ich bin mit meinem E-Technik 
Studium fast fertig und habe Assembler nur in der Theorie gelernt, es 
aber nie benutzt, obwohl ich sehr viel programmiert habe.

Mittlerweile haben die Controller so viel Rechenpower, da lohnt sich 
Assembler meiner Meinung nach nicht mehr zu lernen. Alles was trotzdem 
sehr schnell sein muss habe ich mit FPGA + VHDL gelöst. Ist natürlich 
auch eine Kostenfrage.
Assembler war ganz okay um zu lernen wie man mit Speicher umgeht. Das 
konnte uns aber der Prof. anhand von C/C++ auch gut erklären.


Grüße
OP #4500970
Lesenswert?

Hallo,

Danke für die schnellen und vielen Antworten.

Ich konnte ja bereits ASM, VB, VBA, PHP und HTML. Also ich bin kein 
blanker Neuling. Ich habe das alles in der Schule benutzt als ich meinen 
Techniker in der Kommunikationselektronik gemacht habe.

Ich wollte jetzt lediglich wissen was ihr empfehlen könnt.

Für die Hardware wird erstmals NUR ATmega benutzt. Und es ist ja nur 
Spasseshalber also muss es auch nicht schrecklich schnell gehen, aber 
mal ehrlich, wer kann den schon lange darauf warten das fertige Projekt 
zu sehen? :-P

Wenn ich C ausprobieren will, welchen Compiler kann man da empfehlen und 
gibt es evtl. einen Freeware-C-Compiler?

mfG
Roy
Gast #4501033
Lesenswert?

Genau, Luna wollte ich auch gerade schreiben.

Es gibt auch PASCAL für Atmega's, eine sehr saubere Sache.

Dann ist da noch BASCOM. Hat Ähnlichkeiten mit Java und Standard Basic.
Erlaubt aber auch jeden Registerzugriff, hat keinen Nachteil gegenüber 
C.
#4501070
Lesenswert?

Thomas P. schrieb:
> Möchtest du ein schnelles Ergebnis wo dich der Hintergrund nicht juckt,
> dann Arduino als Hardware und C als Programmiersprache.
>
> Möchtest du ein ambitionierter Hobbyentwickler sein, dann der nackte
> Atmel und C als Programmiersprache.
>

Warum immer so schwarz/weiß? Was spricht dagegen ein Arduino Board mit 
z. B.  Atmel Studio zu verwenden?
#4501329
Lesenswert?

c-hater schrieb im Beitrag #4501163:
> Spannend wird es dann, wenn die Komplexität der Anwendung soweit steigt,
> dass der Kram mit prozeduralen Mitteln allein nur noch schwer
> beherrschbar ist. Spätestens dann ist der Umstieg auf das OO-Paradigma
> angesagt.

Das würde ich mal in Frage stellen. Soll das Ironie sein?

c-hater schrieb im Beitrag #4501163:
> C++ ist die OO-Sprache, die den meisten Fleiss erfordert,
> weil sie nicht nur all den unsäglichen Scheiss von C mitschleppt,
> sondern noch einiges drauf setzt...

... nämlich zu allererst den ganzen OO-Müll inkl. einer Runtime und 
einem komplett verkrüppelten Exception-Management.

Thomas P. schrieb:
> C

Dem schließe ich mich mal an :p

Ich finde es aber auch schon ziemlich sinnvoll wenigstens mal die 
Grundzüge von Assembler zu lernen und wie hier auch schon erwähnt, mal 
eine LED zum blinken zu bringen. Ohne C, ohne C++ und ja bitte erst 
recht ohne BASCOM. Hier gab es mal einen Thread da hat der Lothar das 
mal aufskizziert wie das aussehen kann: 
Beitrag "Re: ARM Cortex gegen AVR"
Gast #4501333
Lesenswert?

Black J. schrieb:
> Thomas P. schrieb:
>> Möchtest du ein schnelles Ergebnis wo dich der Hintergrund nicht juckt,
>> dann Arduino als Hardware und C als Programmiersprache.
>>
>> Möchtest du ein ambitionierter Hobbyentwickler sein, dann der nackte
>> Atmel und C als Programmiersprache.
>>
>
> Warum immer so schwarz/weiß? Was spricht dagegen ein Arduino Board mit
> z. B.  Atmel Studio zu verwenden?

Lies dir nochmal durch, was wenige Zeilen weiter oben steht:
> Thomas P. schrieb:
>> Möchtest du ein schnelles Ergebnis wo dich der Hintergrund nicht juckt,
>> dann Arduino als Hardware und C als Programmiersprache.
#4501407
Lesenswert?

?!? schrieb:
> Lies dir nochmal durch, was wenige Zeilen weiter oben steht:

Das gilt auch für  dich ;) Ich habe nur geschrieben,  dass man Arduino 
Board auch ohne Arduino IDE nutzen kann,  weil es im Grunde nur eine 
Grundschaltung mit einem Atmega Chip ist (+ Bootloader) ist. Vor allem, 
wenn man keine Lust hat,  die eigene Platine zu ätzen.
Gast #4501745
Lesenswert?

Zu aufgeblasen in der iDE , nur für größere Projekte geeignet, schwer 
erlernbar:
------------------------
...Atmel Studio
-------------------------


Für diesen Mann nicht geeignet:
-----------------------------------------------
....Ich möchte wieder ein wenig mit meinen ATmega's 16/32 spielen.
-----------------------------------------------
Merke: ....ein wenig....
OP #4520173
Lesenswert?

Hallo,

Ich habe nun ein wenig rumprobiert in ASM so gut wie in C.

Ich habe AS4 und AS6.2 mit meinem STK500. Mit AS4 schaffe ich es 
zumindest mal den ASM-Code auf den mega16 zu bekommen. Aber den C-Code 
bekomme ich weder mit AS4 noch mit AS6.2 drauf.

Irgendwie scheine ich da was falsch zu machen. Ich habe nun auch WinAVR 
ausprobiert und da klappt es auch nicht auf Anhieb :-(

Da jedoch der ASM-Code mit AS4 funktioniert hat, liegt es ja wohl eher 
nicht am STK500, dem uC oder der Software...

Gibt es denn da kein Entwicklertool das alles macht? Also wo man den 
Code schreibt, dann auf einen Button drückt und das Tool compiliert und 
erstellt alle Dateien die man braucht??

Mit AS4 (irgendwie übersichtlicher und viel einfacher als AS6.2) habe 
ich zumindest eine Konkrete Fehlermeldung beim "Make" bekommen.
Ich habe zwar das Make per Kommandozeile von Windows ausgeführt, aber 
zumindest kam ne Fehlermeldung... Und zwar vermisst er eine .o Datei.

Was genau habe ich vergessen zu machen? Und wie bereits gefragt, geht 
das nicht simpler??

mfG
Roy

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