PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C für mikrocontroller lernen



dannyboy1994
24.08.2010, 08:22
Hallo. Ich möchte gerne Programmieren von MC in C lernen.
Der grund ist voollgender. Ich habe mich nun ein jahr intensiv mit assembler beschäftigt welches ich kann. Nur ich wollte mir nun demnächst mal den so hoch angepriesenen Asuro kaufen. Ich weis selber bauen is besser(hab hier ja auch einen selbstgebauten hier rumstehen). Der Asuro liefert angeblich ja eine asuro.h mit mit der er auf solche befehle wie

motor links (on)

oder so reagieren soll.

Nun hätte ich gerne ein online Toturial(für C komplett neu einsteiger)
oder einen PDF zum downloaden wo explizit auf das programmieren von mikrokontroller eingegangen wird.

ICh will nicht C für den Windpws Computer lernen, sondern sofort in richtung mikros gehen.

Ich finde ja das assembler eine gute programmier sprche ist, aber dar immer mehr leute ihr zeug in C schreiben möchte ich nun auch damit anfangen.

lg Daniel

Hubert.G
24.08.2010, 09:34
Grundlagen in C sind notwendig, unabhängig wofür.
Hier mal einige Tutorials. Google wirft noch einiges aus.
http://openbook.galileocomputing.de/c_von_a_bis_z/
http://de.wikibooks.org/wiki/C-Programmierung_mit_AVR-GCC
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

mayokleckz
24.08.2010, 09:43
Hi,

ich bin mit den Artikeln aus RN-Wissen
http://www.rn-wissen.de/index.php/Kategorie:Quellcode_C

und dem Tutorium von Mikrocontroller.net ganz gut reingekommen.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial


grüße

dannyboy1994
24.08.2010, 10:04
ja die sache mit den grundlagen ist die.....
ich hatte schonmal angefangen C für windows zu lernen und habe es dann an die wand geschmissen.......
Also grundkenntnisse habe ich leider nicht....(bin nur bis kapitel 2 von dem dummen buch das ich damals hatte gekommen).......

dannyboy1994
24.08.2010, 10:05
mayo konntest dus vorher auch garnicht oder hattest du schon leichte vorkenntnisse

mayokleckz
24.08.2010, 10:15
Grundkenntnisse waren schon da, aber nur so Sachen wie Listen sortieren ausgeben Files einlesen. So'n Schulkram eben.
Das ging mit 'C in 21 Tagen' aber auch recht fix.

dannyboy1994
24.08.2010, 10:22
cool dieses C in 21 tagen habe ich hier als ebook liegen(und noch viele mehr gerade runtergeladen). Dann probier ichs mal damit :-)

mayokleckz
24.08.2010, 10:26
Viel Erfolg.

Ich müsste wohl auch wiedermal programmieren. Hab mir grad die Artikel weng durchgelesen und .... oje oje is das wieder weit weg :( alles vergessen.

grüße

dannyboy1994
24.08.2010, 13:51
ok..... ich hab aus deisem buch nun den stoff von 7 tasgen durchgepaukt.....un fühle mich nicht wirklich sagen wir mal bereichert...... das geht alles sehr weit am thema mikrokontroller vorbei....

ich suche mir nun mal ein paar programme im forum die für AVR´s in C gteschrieben wurden und versuchs mal so...... Ich glaube nämlich kaum das mich interessieren sollte

was die funktionen printf und sowas tun. Den ein AVR hat keine Eingabeaufforderung ^^. Der wird hauptsächlich durch register gesteuert ^^. Was ich nun nicht weis ist wie ich z.B den ASM befehl BRNE ersetze. Der spielt ja eigentlich schon eine sehr große Rolle finde ich.


.... und 965 seiten sind mir dann doch etwas zuviel -.-

C für windoof interessiert ja eigentlich nicht....


naja ok. TRotzdem danke für die hilfe

lg
Daniel

mir gings ja eigentlich nru darum das cih beim asuro den ich mir bald kaufen werde die befehle wie motor links ( on) benutzen kann......
aber C istt ja echt ein granff.... Assembler kann man in gut einer woche so lernen das mann gute programme damit schreiben kann. MAnn braucht auch keine 1000 klammern um alles rum .....

Hubert.G
24.08.2010, 15:30
Es hat alles seine Vor- und Nachteile.
Ein BRNE wird man durch ein if(....) ersetzten.
Wenn man gleich mal Funktionen wie printf auseinander nimmt, ist das sicher nicht zielführend.
Allerdings ist motor links(on) auch nur eine Funktion.
Wenn du diesen dann an deine Bedürfnisse anpassen willst, musst du auch da hineinsteigen.
Zwei oder drei Zeilen C-Code ergeben schnell mal 30 Zeilen Assembler.

dannyboy1994
24.08.2010, 16:16
jupp, aber da mach ich mich lieber mit assembler dran verfolge die portleitungen zu den bauelementen, und schreib meine progs in assembler, als das ihc mir des etz noch antuh. :-( sry an alle C fans mich hats nicht überzeugt...

Besserwessi
24.08.2010, 20:16
Die Sprache C ist schon etwas kryptisch. Ich habe auch erst in ASM programmiert und dann in C (allerdings nicht mit dem µC). Wenn man schon einen andere Sprache kennt, sind fast 1000 Seiten auch etwas langatmig für eine doch eher primitive Sprache wie C.

Die grundlegende Syntax lernt man halt etwas einfacher am PC - da hat man die besseren Debugmöglichkeiten, und kann schnell mal ein Printf einfügen um was auszugeben. An die kryptische Syntax mit den klammern und += usw. muß man sich etwas gewöhnen.

Die Programmierung mit dem µC ist dann auch nicht mehr so schwer. Allerdings ist der µC spezifische Teil auch oft Compilerabhängig. Der Zugriff auf die Register ist einfach (zumindest bei GCC-AVR, wohl aber auch bei den meisten anderen Compilern): die Register werden beim Nahmen wie Variablen angeprochen.

Um eine direkte übersetzung für ASM befehle wie BRNE muß man sich nicht kümmern, dafür gibt es Befehle wie IF , While, ... um den Programmfluß hinzukriegen. Es ist andersherum: der Compiler ersetzt diese übersichtlicheren und nicht mehr µC spezifischen Teile in ASM Code.

Für kurze Programm, die einfach nur die Register beschreiben, hat man mit C auch nur wenig Vorteile gegenüber ASM. Die großen Vorteile von C am µC kommen, wenn man mehr arithmetik hat - vor allem mit wenn die Zahlen mehr als 8 Bit haben. Außerdem ist die Wiederverwendung von Codestücken in C viel einfacher. Solche funktionen wie die Binär -> Dez Wandlung gibt es z.B. als Standart-Library.