Forum: Mikrocontroller und Digitale Elektronik Wiedereinstieg


von Roman F. (romanf)


Lesenswert?

erstmal hallo an die gemeinde!

bin neu hier und möchte wieder in die mikrocontrollerwelt einsteigen.

habe erfahrung mit assembler-programmierung (8051er,...).

bin jetzt etwas unsicher in welche richtung es jetzt gehen soll.

ob AVR, ARM oder MSP430?

was meint ihr?

mfg.
Roman

von The Daz (Gast)


Lesenswert?

Ich hab den AVR genommen. Billig und ueberall erhaeltlich.

von Roman F. (romanf)


Lesenswert?

hab auch an das stk500 board gedacht.

wo liegt der unterschied zwischen avr, arm oder msp430?

von Erwin (Gast)


Lesenswert?

> wo liegt der unterschied zwischen avr, arm oder msp430?

Siehe http://www.mikrocontroller.net/articles/AVR_PIC_51-Vergleich

Triffts nicht ganz, hilft aber vielleciht trotzdem etwas ;-)

von Roman F. (romanf)


Lesenswert?

das würde ja eher den AVR ins rennen bringen, vorallen auch durch das
STK500 board.

dafür hab ich preise zw. 90 und 205 euro gefunden.

von Peter D. (peda)


Lesenswert?

Der ARM ist ein 32-Bitter und sehr komplex, da würde ich erstmal die
Finger von lassen. Auch sollte man den nur in C programmieren, da es
ein RISC ist.


Wenn Du den 8051 kennst, ist es nicht schwer den AVR zu erlernen.

Allerdings gibt es da einen wesentlichen Unterschied:

AVR-Programmme sind fast nie binär kompatibel und oft nicht mal Source
kompatibel. D.h. Bits haben manchmal andere Namen, andere Bedeutung
oder sind in unterschiedlichen Registern oder Register sind in
unterschiedlichen Speicherbereichen. Auch die Interruptvektoren sind
bei jedem Typ verschieden durcheinander gewürfelt.

Will man auf einen anderen AVR-Typ umsteigen, sind also Anpassungen
nötig.


Peter

von Roman F. (romanf)


Lesenswert?

also man sollte sich gut überlegen, auf welchen AVR-typ man sich
festlegt. mit welchem arbeitet ihr so?

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Na ganz so dramatisch ist es nicht. Eine Portierung ist keine große
Sache, ein paar Bitnamen ändern (das muss man beim 8051 wohl auch, oder
haben alle die gleichen IO-Funktionen?), und schon ist man wieder im
Rennen. Für den Anfang brauchst du dir wirklich keine Sorgen zu machen.

von The Daz (Gast)


Lesenswert?

@Roman,
ich suche mir den geeigneten AVR nach der Anzahl der benoetigten I/O
pins und Features aus. Kommt bei mir eigentlich nie vor, dass ich viel
code von einem AVR Typ auf den anderen uebertragen muss. Wenn du das
STK500 kaufst, sind gleich ein oder zwei uC dabei. Bei mir wars ein
AT90S8515 und ein ATMega16.

von Peter D. (peda)


Lesenswert?

"dafür hab ich preise zw. 90 und 205 euro gefunden."


wenn der Preis eine Rolle spielt und Du den 8051 schon kennst, ist ein
8051 mit Bootloader wohl am besten, z.B. der AT89C51RB2 kostet bei
Reichelt 9,20€.

Einfach noch nen RS-232 Pegelwandler anschließen und los gehts:

http://www.mikrocontroller.net/forum/read-1-25968.html#new


Der AT89S52 ist zwar günstiger (1,60€), aber den muß man wie die AVRs
über den Parallelport programmieren und das bereitet oft Probleme.

Die mit Bootloader sind also erfolgssicherer und man ist als Anfänger
nicht gleich entmutigt.

Daher ist es verwunderlich, warum Atmel in die AVRs nicht auch einen
Bootloader einprogrammiert.


Peter

von Roman F. (romanf)


Lesenswert?

preis spielt keine rolle, würde aber auch nicht das board um 205 euro
bei conrad.at kaufen ;-)

von Peter D. (peda)


Lesenswert?

"also man sollte sich gut überlegen, auf welchen AVR-typ man sich
festlegt. mit welchem arbeitet ihr so?"

Ne, ist nicht so schlimm. Man sollte es eben im Hinterkopf behalten,
wenn man es mal machen will.
Und bezüglich der unterschiedlichen Registeradressen und
Interruptvektoren nimmt einem der C-Compiler ja viel Arbeit ab. Und bei
anderen Namen meckert er die auch an und man kann sie ändern.

Ich nehme am liebsten den ATMega8, der hat ein gutes Verhältnis
zwischen Flashgröße, Pinzahl und Preis.


Peter

von Peter D. (peda)


Lesenswert?

"preis spielt keine rolle"

Dann nimm das STK500, 90€ klingt gut (Conrad: 205€, die haben ja nich
alle Tassen im Schrank).

Ich habs auch.


Peter

von SiO2 (Gast)


Lesenswert?

[at]peter dannegger Der 8-Bit AVR ist auch ein RISC. Und den proggt man
nicht nur in C.

von Bjoern Mueller (Gast)


Lesenswert?

ich hab im studium ARM-assembler gelernt(bzw eher mal reingeschnuppert)
und muss sagen, dass das richtig spass macht. ist sogenannter
"conditional assembler", dh dass es von vielen befehlen auch
'bedingte' varianten gibt. zb kann man anstatt ADD einfach ADDEQ
schreiben und die addition wird nur ausgefuehrt, wenn der vorige
vergleich(den auszuloesen ist nochmal ne andere geschichte..(zb mit
ADDS(fuer register setzen)) ergeben hat, dass die werte gleich waren.
insgesamt ergibt sich dadurch sehr schoen kompakter code.

naja, um ontopic zu bleiben:
ich benutz "privat" auch die AVR-familie, programmier in C und bin
sehr zufrieden damit. kann ich uneingeschraenkt weiterempfehlen.

und wenn man den AVR erstmal an seine grenzen bringen kann(ausser durch
extrem schlechten code), dann sollte der umstieg zum ARM auch kein
problem mehr darstellen. ich bin zwar noch nicht soweit ;), werd mich
demnaechst aber mal mit den SAMs(smart ARM) von atmel beschaeftigen.
mal schaun, ob nen projekt bei rauskommt, dass mit nem AVR nicht
moeglich gewesen waere.

gruss, bjoern.

von Roman F. (romanf)


Lesenswert?

in welchen sprachen programmiert ihr? c, c++ oder assemb?

von The Daz (Gast)


Lesenswert?

Ich nehm C und weiche nur im Notfall auf Assembler aus. Ist aber
Geschmackssache.

von Winfried (Gast)


Lesenswert?

Ganz früher Assembler, dann lange C, dann lange gar nicht, jetzt wieder
in Assembler kleine Programme auf dem AVR und ich sehne mich ganz stark
nach C! Wird auch kommen, sobald ich Zeit finde, mich da einzuarbeiten.

Mein Eindruck: Wenn man ein paar hundert Byte programmiert oder sehr
effizient programmieren muss, ist Assembler sinnvoll. Ansonsten, wenn
man es einmal kann, ist man mit C wohl oft schneller am Ziel. Bei
manchen Anforderungen sogar extrem viel schneller. Und übersichtlicher,
Programme lassen sich schneller begreifen, auch nach Jahren noch.

Wer dagegen erstmal Grundlagen lernen möchte, sollte zuerst mit
Assembler anfangen.

von Roman F. (romanf)


Lesenswert?

also ich denke ich werde mir das stk500 mit der erweiterung 501
besorgen. als controller den ATMEGA 128-16TQ ;-)

von andi (Gast)


Lesenswert?

Hallo Roman

ich kann dir den MSP430 empfehlen. Hab früher mit PIC und 8051
gearbeitet, werd ich nie im Leben mehr machen.
Der MSP ist optimal wenn du niedrige Stromaufnahme und gleichzeitig
hohe Rechenleistung brauchst. Er hat eine sehr klare 16 Bit RISC
Architektur mit 27 Befehlen und ist sehr gut in C und Assembler
programmierbar. Mit AVR hab ich noch noch nicht gearbeitet.

gruß andi

von Roman F. (romanf)


Lesenswert?

so, heute ist das STK500 gekommen (für knapp € 95). jetzt kanns los
gehen ;-)

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
Noch kein Account? Hier anmelden.