Forum: Mikrocontroller und Digitale Elektronik AVR Tutorial ausreichend für folgenden Kurs


von al3ko (Gast)


Lesenswert?

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?

von Peter D. (peda)


Lesenswert?

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

von Thomas T. (knibbel)


Lesenswert?

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

von hans (Gast)


Lesenswert?

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

von al3ko (Gast)


Lesenswert?

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ß

von al3ko (Gast)


Lesenswert?

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ß

von Karl H. (kbuchegg)


Lesenswert?

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.

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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.

von al3ko (Gast)


Lesenswert?

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ß

von al3ko (Gast)


Lesenswert?

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ß

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.