Hi Leute,
ich habe Interesse daran, die Welt der Mikrocontroller zu verstehen
(zumindest mit dem groben Aufbau, der Funktionsweise und der
C-Programmierung). Leider muss ich bei allem so ziemlich bei 0 anfangen.
An meiner Uni wird ein dreiwöchiger Intensivkurs angeboten, in dem ein
Mikrocontroller mit einem eigenen Programm programmiert wird.
Voraussetzungen sind also schon der Aufbau von uC und die hardwarenahe
programmierung in C. Ich habe den Professor angeschrieben, ob er die
Voraussetzungen näher definieren kann. Seine Antwort:
"
Ideally you should have some experience with C programming on
microcontrollers. In the prerequisite course they use a fairly simple
8-bit microcontroller. In 31070 we use a 32-bit ARM controller with many
built-in peripherals. To use it you should have some programming
experience in C, including how to structure a program in modules and
functions, and you should have experience with basic microcontroller
terms like memory addresses, and interrupts, and preferably also some
experience with the most common peripherals like A/D converters.
With that said, people come with many different backgrounds. In 31070 we
also develop graphical user interfaces and network communication and for
these parts other skills like knowledge about TCP/IP, XML, and other
internet skills are useful, and can to a certain extent compensate for
less C and microcontroller experience. The assignment is given as a
teamwork assignment so very often the team members contribute with their
preferred tasks.
"
Sooo. Da ich den Kurs gerne belegen möchte, bin ich am überlegen, das
AVR Tutorial dieser Seite durchzuarbeiten (und auch den empfohlenen uC
zu kaufen und nicht nur alles im Netz durchzulesen).
In meinen Augen sollte ich dadurch eine gute Grundlage von dem bekommen,
was mich im Kurs erwarten wird. Bevor ich jedoch viel Geld ausgebe,
suche ich hier nach Meinungen.
Zu meinem Programmierbackground:
Ich habe ein bisschen Erfahrung in C#, so dass ich (einfachere) Probleme
auf kleinere Teilprobleme hinunterbrechen und dafür Algorithmen
schreiben kann. Das heißt, ich kenne mich mit den prinzipiellen
Strukturen (for schleife, while, if else etc) aus und weiß wie ich sie
einzusetzen habe.
Ich habe mal angefangen, mich mit C zu beschäftigen und bin bei den
Pointern stehen geblieben, weil Interesse und Zeit nicht mehr vorhanden
waren.
Meint ihr, das AVR Tutorial gibt eine gute Vorbereitung auf den Kurs?
Also mir schlackern die Ohren, diese Aufgaben in nur 3 Wochen lösen zu
wollen. Ich würde dafür 6..12 Monate ansetzen.
Entweder es wird ein riesen Desaster oder es wird nur an der äußersten
Oberfläche gekratzt und fertige Legosteinchen zusammengesetzt.
Oder es ist ein Superfreak in der Truppe, der 20h am Tag vor dem PC
sitzt und programmiert.
Es wird wohl heutzutage erwartet, daß man sich alles aus dem I-Net
zusammen klaut und fast nichts mehr selber entwickelt und auch kaum die
Grundlagen versteht.
Ich halte das nicht für effektiv. Lieber kleine Brötchen backen, aber
dafür auch wissen, wie man sie bäckt. Brötchen aufwärmen kann jeder und
man lernt nichts dabei.
Zu Deiner Frage, der AVR ist gut geeignet die Grundlagen zu lernen und
das ist keine vergeudete Zeit.
Peter
Hallo,
unter "drei Wochen Intensiv-Kurs" würde ich mir folgendes vorstellen:
* kleiner 8-Bit-Controller (AVR, MCS51, PIC) (Hardware-Architektur
kennenlernen, Programmier-Schnittstelle, etc.)
* Grundlagen, Befehle, I/O's (LED's, Relais und vielleicht Lautsprecher)
* Langsam anfangen LED einschalten, LED oder Relais blinken.
* bisschen Rechenaufgaben (Carry-, Borrow-, Overflow-Bits kennenlernen)
mit dem Controller.
* Vielleicht noch etwas mit Timer oder Interrupts machen...
Das reicht locker für drei Wochen, damit man es auch versteht und
nicht nur drüberfliegt.
32Bit-ARM's sind definitiv oversized für deinen Background. Sorry, aber
das ist meine ehrliche Meinung.
Gruß,
Thomas
Ich glaube das muß man anderst lesen.
Der Intensivkurs ist mit einem 8-Bitter für die
Grundlagen. Wenn das wirklich intensiv ist lernt man da
in 3 Wochen recht viel.
Hier past dann auch ein AVR und das Tutorial.
In der Vorlesung ist dann der 32-bit ARM an der Reihe.
Also mehr als 3 Wochen (aber 1 Semester ist dann auch eng).
hans
Hallo Peter,
> Also mir schlackern die Ohren, diese Aufgaben in nur 3 Wochen lösen zu> wollen. Ich würde dafür 6..12 Monate ansetzen.>> Entweder es wird ein riesen Desaster oder es wird nur an der äußersten> Oberfläche gekratzt und fertige Legosteinchen zusammengesetzt.> Oder es ist ein Superfreak in der Truppe, der 20h am Tag vor dem PC> sitzt und programmiert.>>> Es wird wohl heutzutage erwartet, daß man sich alles aus dem I-Net> zusammen klaut und fast nichts mehr selber entwickelt und auch kaum die> Grundlagen versteht.> Ich halte das nicht für effektiv. Lieber kleine Brötchen backen, aber> dafür auch wissen, wie man sie bäckt. Brötchen aufwärmen kann jeder und> man lernt nichts dabei.>>> Zu Deiner Frage, der AVR ist gut geeignet die Grundlagen zu lernen und> das ist keine vergeudete Zeit.>>> Peter
danke für deine Meinung. Dieser Intensivkurs geht von 08:00 - 17:00 Uhr
und dann drei Wochen. Da diese Art von Kurs (und auch dieser Kurs)
nichts Neues an meiner Uni ist, wird das Konzept schon aufgehen
(irgendwie müssen).
Vielleicht bringt dich das weiter:
http://www.kurser.dtu.dk/2010-2011/31070.aspx?menulanguage=en-gb
Ich glaube aber, dass nicht tiefgründig in die Materie eingegangen,
sondern eher auf Basisniveau gearbeitet wird.
Ich werde mir überlegen, das AVR Tutorial zu durchzuarbeiten.
Vielen Dank für deine Meinung.
Gruß
Hallo,
tut mir Leid. Ich habe nicht die ganze Email zitiert.
Um es aufzuklären:
Voraussetzung für diesen Kurs ist ein Programmierkurs (5ECTS und ein
Semester lang). In dem wurde ein 8Bit Controller in C programmiert.
In diesem Intensivkurs wird ein 32Bit uC verwendet und dann das gemacht,
was im Link drinnen steht.
Gruß
Also wenn du da wirklich fast überall bei 0 anfangen musst (und das was
du über deiner C# Erfahrung schreibst, klingt nicht sehr hoffnungsfroh),
dann hast du keine oder kaum Chancen aus dem Kurs irgendetwas sinnvolles
herauszuholen.
Da wird dann von Dingen geredet, von denen du noch nie gehört hast. Die
werden aber vorausgesetzt.
> Ideally you should have some experience with C programming on> microcontrollers.
Und idealerweise hast du dafür wiederrum als Vorstufe wenigstens ein
bischen Erfahrung in der C-Programmierung auf dem PC (keine GUI Dinge,
reine Konsolen-Programmierung). So in etwa die erste Hälfte vom
Kernighan&Ritchi sollten da schon sitzen.
Bei dem Spektrum an angesprochenen Aufgabenstellungen, darfst du über
die C-Basisdinge nicht mehr nachdenken müssen. Wenn dich Strukturen und
Verpointerungen noch vor Rätsel stellen, dann hat das wenig Sinn. Wenn
du mit dynamischem Memory Management noch auf Kriegsfuss stehst, dann
hat das wenig Sinn.
Und da sind jetzt die Besonderheiten der µC Progammierung noch gar nicht
angesprochen, die einen anderen, alternativen Zugang zu machen Dingen
erforderlich machen.
Auch oder gerade deshalb, weil das ein Intensivkurs von früh morgens bis
spät am Abend ist. Ehe du noch rausgefunden hast, wo du im C-Code die
entscheidende } vergessen hast (weil du schon müde bist), ist der Dozent
schon 2 Kapitel weiter, weil er sonst seinen Stoff nicht durchbringt.
al3ko schrieb:> Voraussetzung für diesen Kurs ist ein Programmierkurs (5ECTS und ein> Semester lang). In dem wurde ein 8Bit Controller in C programmiert.
Daraus schließe ich, dass du an dem nicht teilgenommen hast?
Das führt mich zu der Frage, wieviel Zeit du bis zum Beginn des
dreiwöchigen Kurses hast. Zwei Wochen intensives (!!) durcharbeiten des
AVR-GCC-Tutorials sollten für Grundkenntnisse reichen. Mehr Zeit wäre in
deiner Situation definitiv nützlich.
Hi Karl Heinz,
auch dir danke für deine Einschätzung.
Da ich den Kurs, wenn ich mich dazu entschließen sollte, eh erst in
einem Jahr belegen werde, habe ich noch ein wenig Zeit. Ich glaube, dass
ich das AVR Tutorial durcharbeiten werde, wenn ich Zeit dazu finde. Dann
kann ich sehen, wie sehr mich die Materie interessiert und ob dieser
Kurs überhaupt noch aktuell für mich ist.
Dann werde ich hier die gleiche Frage noch mal stellen :D
Und selbst wenn ich den Kurs nicht belegen werde, habe ich mit dem AVR
Tutorial trotzdem etwas dazugelernt - und das ist ebenfalls eine
positive Erfahrung.
Euch allen danke und einen schönen Abend.
Gruß
Silvan König schrieb:> al3ko schrieb:>> Voraussetzung für diesen Kurs ist ein Programmierkurs (5ECTS und ein>> Semester lang). In dem wurde ein 8Bit Controller in C programmiert.>> Daraus schließe ich, dass du an dem nicht teilgenommen hast?> Das führt mich zu der Frage, wieviel Zeit du bis zum Beginn des> dreiwöchigen Kurses hast. Zwei Wochen intensives (!!) durcharbeiten des> AVR-GCC-Tutorials sollten für Grundkenntnisse reichen. Mehr Zeit wäre in> deiner Situation definitiv nützlich.
Hi Silvan,
ich komme von einer anderen Hochschule. Insofern liegts du richtig, dass
ich an dem Kurs nicht teilgenommen habe.
Ich hatte an meiner Hochschule einen Kurs Digitale Regelungstechnik, in
dem wir eine Regelung mittels DSP realisiert haben. Leider habe ich nur
noch grob in Erinnerung, dass ich Bits in den Registern umschubsen um,
um die Aus- und Eingänge zu definieren. Der Rest bestand aus C Code und
Regelungstechnik. Das führt mich zu dem Schluss, dass ich so ziemlich
bei 0 anfangen muss.
Vorbereitungszeit beträgt knapp über ein Jahr. Der Kurs wäre im Januar
2012.
Gruß