Forum: Mikrocontroller und Digitale Elektronik Anfänge in der uC Welt


von Markus F. (nidhoegger)


Lesenswert?

Hi,

ich habe jetzt schon ein paar projekte von anderen nachgelötet und 
endlich auch mit erfolg. Und ich interessiere mich sehr für die Welt der 
µC's.

Ich würde gerne selbst damit anfangen, habe aber noch ein paar fragen. 
Und ja, ich weiß es gibt schon Threads "Wie fange ich an", dannach hab 
ich auch gesucht und bevor mir desinteresse und Faulheit vorgeworfen 
wird:
http://www.mikrocontroller.net/articles/AVR-Tutorial
Das lese ich mir grade schon durch und ich hab mir auch die Buchtipps 
angesehen.

Meine Fragen:

Welche Elektrotechnischen Grundlagen sind von nöten, wo bekomme ich sie 
her und könnt ihr mir da (wäre mir am liebsten) ein buch empfehlen? Ich 
denke mal um mit AVRs zu arbeiten sollte ich wissen wofür ich welches 
bauteil brauche, etc.

Welches "Einsteigerpaket" empfehlt ihr mir? Also ich hatte vor mit dem 
ATMega8-16PU zu arbeiten. Davon hab ich mir auch schon ein paar 
organisiert, sowie einige 22pf, 27pf und 100n Kerkos und 10uF Elkos, 
sowie ein paar dioden (1n4148), div. Wiederstände (470ohm 
(vorwiederstand), 68ohm, 100ohm, usw, ein ganzes paket eben ^^), IC 
sockel, div. Quarze sowie einige Taster und das übliche quadderladdatsch 
zum löten (lochrasterplatinen, lötzinn, usw, aber löten kann ich ja 
schon recht gut). Brauch ich da sonstnoch was?

Welche Sprache empfehlt ihr mir zu anfang? Also am PC selber beherrsche 
ich ein fließendes C, C++, Delphi (Pascal), Java, Basic, PHP (aber ich 
denkeweniger das das in diesen bereich fällt ^^)?

Und dann natürlich noch was: Was kann ich mit dem Controller alles 
realisieren? Also was für projekte könnte ich als anfänger machen? Was 
kann der Controller so überhaupt? Ich denke mit der Zeit werden mir 
schon ideen kommen, aber so anfangs ein kleiner Denkanstoß wäre nett. 
Vorerst mach ich erstmal das (sozusagen) Hello World programm im µC (LED 
einschalten durch µC), dannach werd ich wohl lauflichter etc. erstellen, 
aber was kommt dannach? Ich weiß es nicht.

Danke für jeden, der sich diesen Roman durchgelesen hat und danke an 
diejenigen, die auchnoch drauf antworten ;).

MfG

Markus

von Timmo H. (masterfx)


Lesenswert?

Hallo.

>Welche Elektrotechnischen Grundlagen sind von nöten, wo bekomme ich sie
>her und könnt ihr mir da (wäre mir am liebsten) ein buch empfehlen? Ich
>denke mal um mit AVRs zu arbeiten sollte ich wissen wofür ich welches
>bauteil brauche, etc.
Naja welche Bauteile man braucht erfährt man ja erst dann wenn man weiß 
was man machen will. Grundsätzlich sollte man natürlich wissen was die 
Grundlegenden Teile wie Dioden, Kondensator etc. machen. Das Ohmsche 
Gesetz ist auch immer wieder ganz Praktisch. Du kannst auch mal nach 
AVR-Grundschaltungen googeln, da sind ganz gute Beispiele dabei.

Einsteigerpaket hätte ich jetzt gesagt: STK500 (kostet so 80€). Da 
kannst du eigentlich alle AVRs mit Programmieren ein wenig 
experimentieren.
Billiger gehts z.B. mit dem Evaluation Kit von Pollin 
(http://www.pollin.de/shop/dt/MzU5OTgxOTk-/Bausaetze/Diverse/Funk_AVR_Evaluations_Board.html)

>Welche Sprache empfehlt ihr mir zu anfang? Also am PC selber beherrsche
>ich ein fließendes C, C++, Delphi (Pascal), Java, Basic, PHP (aber ich
>denkeweniger das das in diesen bereich fällt ^^)?

Da du C bereits kannst, würde ich den Kontroller auch in C 
Programmieren. Asm braucht man nur noch in sehr wenigen Fällen (z.B. 
wenig Speicher etc).
Also AVR Studio und AVR-GCC laden.

>Und dann natürlich noch was: Was kann ich mit dem Controller alles
>realisieren? Also was für projekte könnte ich als anfänger machen? Was
>kann der Controller so überhaupt?
Es gibt unendlich viele Möglichkeiten, schau einfach mal auf AVR-Freaks 
usw. rum. Was der Controller kann steht im entsprechenden Datenblatt. Er 
kann auch jeden Fall genug für die meisten Aufgaben.

von Bert B. (bertolito)


Lesenswert?

Ein Buch, das ich noch empfehlen könnte ist "Mikrocomputertechnik mit 
Controllern der Atmel AVR-RISC-Familie". Hatte mir jedenfalls den 
Einstieg (neben den Tutorials) sehr erleichtert.

von Markus F. (nidhoegger)


Lesenswert?

Hat da jemand vielleicht ein paar Tutorials die GANZ GANZ vorne anfange? 
(am besten direkt mit C). Ich finde momentan einfach keinen richtigen 
anfang. Entweder setzt das tutorial zuviel vorraus oder es geht nur um 
assemble.

MfG

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Meine Meinung

C lernt man nicht auf einem Mikrocontroller. Die sind für sich schon 
kompliziert genug und gleichzeitig zu primitiv fürs Lernen.

C lernt man auf einem PC. Bevorzugt auf einem System mit Textkonsole, 
also Unix, Linux, Windows-DOSbox, MinGW oder Cygwin.

Es gibt da Millionen Internetseiten mit freien Tutorials, Büchern, 
Compilern.

von Das D. (Gast)


Lesenswert?

"Practical C Programming" von Steve Oualline* (O'reilly) ist ein nettes 
Buch für Einsteiger. Ist aber keine vollständige Sprachenbeschreibung - 
Funktionspointer werden z.B. ausgelassen. Ich empfehle es trotzdem!
--
*Hey, ein Name mit allen Vokalen drin.

von Mark B. (markbrandis)


Lesenswert?

Das D. schrieb:
> *Hey, ein Name mit allen Vokalen drin.

:-)

von Jupp (Gast)


Lesenswert?

@ Stefan B + Das D.:
C kann der TE nach eigenen Angaben schon. Es geht um die Grundlagen der 
Elektronik im Zusammenhang mit µCs.

von Das D. (Gast)


Lesenswert?

Na Jupp, da haste auch wieder recht.
Aber mit guten C-Kenntnissen und dem hier
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
sollte das zu schaffen sein.

Ich bin als Softwareentwickler mit Java-Schwerpunkt auch gut 
reingekommen. Völlig unterschätzt werden die Atmega-Handbücher von Atmel 
- ich finde die wirklich gut geschrieben. Man muss halt wissen, wonach 
man sucht. Aber die Lücke können die netten Leute hier im Forum sicher 
schließen :)

Ich habe in Sachen Microcontroller mit Assembler angefangen, bin aber 
unschlüssig, ob das wichtig für den Lernprozess war. Schaden kann es 
aber nix (es sei denn, man ist in Zeitnot).

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Das D. schrieb:
> Ich habe in Sachen Microcontroller mit Assembler angefangen, bin aber
> unschlüssig, ob das wichtig für den Lernprozess war. Schaden kann es
> aber nix (es sei denn, man ist in Zeitnot).

Assembler kann helfen, die internen Strukturen des Prozessors besser 
kennen zu lernen. Eine 16bit-Addition geht in C ganz einfach, eine 
32bit-Addition ist hier identisch. In Assembler muss man sich das 
teilweise selber erarbeiten. Oft versteht man dann auch besser, was C so 
macht. Noch schlimmer ist ein einfaches printf auf dem RS232-Ausgang 
oder eine Gleitkommaberechnung.

Wenn man aber nicht wissen muss, was der Compiler draus macht, hat man 
es in C schon leichter. Wenn man immer mit dem angebotenen Speicher 
auskommt und das Timing einzelner Funktionen egal ist, ist C sicherlich 
die bessere Wahl (vor allem, wenn man schon eine C-ähnliche sprache 
kennt).

Assembler ist dann notwendig, wenn man auf kleinstem (Speicher-)Raum 
viel unterbekommen muß oder das Timing kritisch ist und/oder auf jedem 
Compiler/Assembler identisch sein soll. Aber auch da kann man sich oft 
mit C und eingebettetem Assembler-Code helfen.

Ich bin damals von Basic über Assembler, Pascal und dann zu C gekommen. 
Heutzutage programmiere ich unter C,C++,Java,Perl,PHP...

Prozessoren habe ich anfangs nur in Assembler programmiert - jetzt 
hauptsächlich C; und fahre gut damit.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Jupp schrieb:

> @ Stefan B + Das D.:
> C kann der TE nach eigenen Angaben schon. Es geht um die Grundlagen der
> Elektronik im Zusammenhang mit µCs.

Sorry!

von Sven B. (svenba)


Lesenswert?

Hi!

Hab auch vor ca. 4 Monaten angefangen und habe mir (fast) die gleichen 
Fragen gestellt.
Vielleicht (hoffentlich) hilft dir meine "Startgeschichte".
Ich habe mich für einen Anfang mit Assembler entschieden, weil ICH der 
Meinung bin, dass ich lieber erstmal Programmierung von AVRs von den 
Basics aus lernen sollte, anstatt gleich am Anfang Programme in 
irgendwelchen Hochsprachen zu schreiben, wo mir diverse Abläufe schon 
"vorgekaut" werden, ohne das ich verstehe, was da eigentlich wirklich 
passiert.Wenn mir dann irgendwann klar ist,was da so passiert, werd ich 
wohl auch auf C oder Bascom umsteigen, um die Fertigstellung eines 
Projektes zu beschleunigen.
Zum Start habe ich mir fast ausschliesslich dieses Forum und die 
Tutorials hier zur Brust genommen.
Da ich elektrotechnische Vorkenntnisse habe, habe ich mir "irgendwo" nen 
einfachen Schaltplan mit nem ATMega32 plus ext. Beschaltung 
(Kondensatoren, Quarz, Taster, Leds,...) ausgedruckt und auf 
Lochrasterplatine aufgebaut.
Hab mir dann einen günstigen USB-AVR-ISP-Programmer besorgt und damit 
die ganze Schaltung ausschliesslich über USB versorgt. Das ist für mich 
besonders gut, da ich an Wochenenden viel in der Bahn sitze.

Nach ersten Versuchen (siehe Tutorial) wie Led an/aus, Taster 
entprellen,LCD ansteuern... bin ich jetzt dabei, ein Oszilloskop mit 
GLCDs aufzubauen und lerne dabei (zwangsläufig) immer mehr dazu.

Das Buch "Mikrocomputertechnik mit
Controllern der Atmel AVR-RISC-Familie" , welches Bertolt oben schon 
erwähnt hat, kann ich auch empfehlen, das klärt echt fast alle Fragen 
von Anfang an und behandelt auch C-Programmierung (für später mal).
Ich hoffe, dich wird das Microcontroller-fieber auch so packen wie mich, 
ich träume schon fast in Assembler und hab den ganzen Tag mein Projekt 
im Kopf ;-)
Viel Spass!!

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.