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
hab auch an das stk500 board gedacht. wo liegt der unterschied zwischen avr, arm oder msp430?
> 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 ;-)
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.
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
also man sollte sich gut überlegen, auf welchen AVR-typ man sich festlegt. mit welchem arbeitet ihr so?
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.
@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.
"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
preis spielt keine rolle, würde aber auch nicht das board um 205 euro bei conrad.at kaufen ;-)
"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
"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
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.
Ich nehm C und weiche nur im Notfall auf Assembler aus. Ist aber Geschmackssache.
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.
also ich denke ich werde mir das stk500 mit der erweiterung 501 besorgen. als controller den ATMEGA 128-16TQ ;-)
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
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.