Forum

Einloggen | Registrieren | RSS  

µC- womit beginnen? (Elektronik)

verfasst von Björn(R) E-Mail, Dortmund, 11.02.2007, 22:45 Uhr

Hallo elektrönchen,

ich habe vor einigen Jahren mit den ATmegas von Atmel angefangen und bin recht schnell zum "Überzeugungstäter" geworden ;-)

Angefangen habe ich mit Assembler, was sehr zum Verständnis der internen Funktion des Controllers und zu guter Programmierung beigetragen hat. Mittlerweile bin ich zwar auf C umgestiegen, da die Projekte mit der Zeit doch umfangreicher wurden. Doch auch beim Programmieren in C mache ich mir immer Gedanken darüber, wie die einzelnen Programmabschnitte in Assembler aussehen. Das hilft, den Maschinencode schon von vorneherein möglichst kompakt zu halten und unschöne Konstrukte, die sich schwer übersetzen lassen und großen und langsamen Maschinencode erzeugen, zu vermeiden.

Das AVR Studio von Atmel ist einfach zu bedienen und bietet alles, was man für die Programmierung in Assembler benötigt. Zur Programmierung in C dient WinAVR. Es bindet sich nahtlos in das AVR Studio ein, so dass du mit der gleichen Oberfläche je nach belieben in Assembler oder C programmieren kannst. Ich habe mir den von WinAVR erzeugten Maschinencode mal näher angesehen und war sehr überrascht davon, wie kompakt und gut der Code ist. In Assembler könnte man es von Hand kaum besser machen. Ein Vergleich mit dem Maschinencode, den eine bekannte Pascal-Umgebung erzeugte, zeigte, dass letztere bei weitem nicht so guten Code erzeugt.

Zum Programmieren verwende ich einen selbstgebauten Adapter (bzw. zwei, wahlweise für die serielle oder die parallele Schnittstelle) in Verbindung mit Ponyprog, was bisher immer ohne Probleme funktionierte. Es gibt mittlerweile aber auch recht preiswerte Programmieradapter mit USB-Anschluss.

Was ich so nebenher über die PIC-Controller gelesen habe konnte mich nicht so recht überzeugen. Beispielsweise haben die 8-bit-PICs nur einen Interruptvektor, der bei jedem Interrupt angesprungen wird. Die Unterscheidung zwischen den einzelnen Interruptquelle muss dann erst per Software erfolgen, das kostet Zeit.

Ich denke, bei der Entscheidung für den einen oder anderen Controller spielen auch eigene Vorlieben oder das Umfeld eine Rolle. Man wird sich etwa auch dadurch beeinflussen lassen, was Bekannte oder Freunde verwenden, so dass man bei Fragen schnell jemanden um Hilfe fragen kann. Hat man erstmal mit einer Controllerfamilie angefangen, wird man auch nicht mehr so schnell wehcseln, da man einerseits die Bedienung und Funktion schon kennt und sich andererseits schon entsprechende Hardware (Programmer, Testboard) zugelegt hat.

Viele Grüße,
Björn



Gesamter Thread:

µC- womit beginnen? - elektrönchen, 11.02.2007, 18:23 (Elektronik)
µC- womit beginnen? - Martin01, 11.02.2007, 19:11
sch.. egal womit ... - hws(R), 11.02.2007, 20:06
sch.. egal womit ... - elektrönchen, 11.02.2007, 21:08
µC- womit beginnen? - Björn(R), 11.02.2007, 22:45
µC- womit beginnen? - Harald Wilhelms, 12.02.2007, 08:12
µC- womit beginnen? - elektrönchen, 12.02.2007, 22:55