Suche Nachhilfeunterricht über skype (Jugendliche bevorzugt)
Hey,
Ich bin auf der Suche nach einer Art "Nachhilfeunterricht" für die ATMEL- programmierung mit C über skype. Es ist so, dass ich versuchte mir die Atmel-Programmierung selbst bei zu bringen, allerdings scheiterte dieser Versuch nach 2 Stunden, da im web überall mit einem zu hohen niveau eingestiegen wird, sodass ich nicht mitkomme.
Mein Stand:
Ich kann garnichts! Außer 1x, da habe ich einen 2313 mit einem Programm via pony prog beschrieben.
Meine Vorbereitungen:
Ich Habe einen PC, ein Paar 2313 und die Programmierkarte dazu. Der "Lehrer" sollte mir dann programme zum schreiben empfehlen
Ich Erwarte:
Der Lehrer sollte mich wenn möglich soweit bringen, dass ich am schluss ein programm schreiben kann, welches in der praxis ein blinklicht steuert. meine Anforderungen sind daher nicht hoch, Der "lehrer" muss deswegen auch nicht unbedint ein profi sein.
Der "Lehrer" bekommt:
Die Anzeige sollte sich Hauptsächlich an Schüler richten, die sich etwas dazuverdienen wollen. Über die Vergütung wird man sich dann schon einig. Bezahlen würde ich die stunden am liebsten per Paypal, damit der Lehrer immer gleich die Vergütung hat. Wann die stunden stattfinden kann man immer mit mir absprechen.
Meldet euch einfach mal per PN, wenn ihr interesse an dem kleinen job habt ;)
Mit freundlichen Grüßen
M.Huber
Liste der Anhänge anzeigen (Anzahl: 1)
Ich fang mal an :-)
Zitat:
ich weis nicht, wie eine c- datei aussieht
In einer C-Datei steht der Quellcode für deinen Attiny2313. Das ist also der Code, den der Controller das ausführt, hier kannst du sagen was der Controller dann machen soll.
Damit du diese Datei bearbeiten und so die Befehle für deinen Controller schreiben kannst brauchst du einen Editor. Aber Word, LibreOffice und solche Sachen fallen hier raus, die sind für was anderes gedacht (Briefe mit Bildern, Überschriften und so Zeug).
Was du brauchst ist ein Editor, der Einfach nur einen Text schreibt. Ganz ohne Überschriften usw. Und wenn du Windows hast, findest du so einen sogar schon vorinstalliert: Unter Zubehör ist das Notepad. (Unter Linux/bzw. Ubuntu der Texteditor/Gedit oder so).
Der kann einfach nur stupide Text schreiben.
Damit man den Text aber besser lesen kann und noch viele andere Funktionen hast (wie z.B. Suchen und ersetzen, automatische Vervollständigung von Wörtern usw.) solltest du was anderes als dieses schnöde Notepad verwenden.
Ein Kanditat währe z.B. Geany. Der ist vollkommen kostenlos, auf Windows und Linux (und warscheinlich auch OSX) zuhause und bietet viele tolle Funktionen zum Programmieren. Downloaden kannst du den hier: http://www.geany.org/Download/Releases#windows
Unter Linux ist der bei der jeweiligen Distribution in der Paketverwaltung selbstversändlich enthalten.
Jetzt klickst du erst einmal auf "Neu" (ganz links, das Blatt mit dem grünen Plus).
Da kommt jetzt dein Quellcode rein. Am besten du kopierst mal folgendes rein:
Code:
int main (void)
{
while(1);
return 0;
}
Das ist das Gründgerüst eines jeden C-Programms, aber dazu später mehr ;-)
Und jetzt gehst du mal auf "Datei" -> "Speichern unter". Am besten du legst dir auf dem Desktop einen Ordner mit dem Namen "mein_erstes_2313-Programm" (oder sowas) an. Da drin speicherst du das Dokument dann als "main.c".
Und wie dir jetzt vielleicht auffällt verfärbt Geany jetzt einige Wörter mit Farben. Das nennt sich Syntaxhighlighting und dient der besseren Lesbarkeit. Außerdem erkennt man so Tippfehler einfacher (Wenn ein Wort entgegen der Erwartungen nicht/falsch eingefärbt wird).
So, jetzt hast du ne schnöde main.c und die muss irgendwie auf deinen 2313. Jetz gibts allerdings noch ein Problem: Wenn du dir den Text in Geany mal ansiehst sind das vorwiegend englische Wörter die mehr oder weniger sinn Ergeben (Am Anfang warscheinlich eher weniger^^).
Der 2313 kann aber kein Englisch, desshalb muss man das Programm übersetzen. Da nimmt man sich aber kein Wörterbuch, sondern ein Programm das das ganze für einen übernimmt. Das Programm nennt sich "Compiler". Und davon gibts ziemlich viele, aber du solltest einen bestimmten benutzen: den AVR-GCC. Der ist ebenfalls von vorn bis hinten FreeWare und auch OpenSource.
Der braucht aber auch noch ein paar Bibliotheken, und dann noch ein bischen hiervon und ein bischen davon.., am besten du klatscht dir ein fertiges Paket auf die Festplatte: http://sourceforge.net/projects/wina...nAVR/20021111/ (Die bin-install.exe)
Falls du Linux hast brauchst du folgende Pakete: "avr-libc" und "gcc-avr", der rest sollte schon drauf sein.
So, jetzt ist die Ansteuerung des Compilers aber nicht ganz einfach, desshalb nimmt man sich ein makefile zuhilfe. Ich hab dir in den Anhang eins reingepackt (Musst die .zip entpacken!). Das schmeist du einfach in den selben Ordner wie deine main.c.
Damit der das jetzt übersetzt musst du folgendes machen: Öffne ein Terminal (unter Windows Start -> Ausführen -> cmd.exe) und gehe in den Ordner mit der main.c, das geht so:
Am Anfang bist du irgendwo (Bei Linux in deinem Heimverzeichnis, bei Windows weis ich es nicht)
mit "cd Desktop" wechselst du in den Ordner "Desktop", mit "cd .." kannst du in den übergeordneten Ordner springen. Mit "dir" unter Windows/ "ls" unter Linux kannst du dir den Ordnerinhalt anzeigen lassen.
Irgendwann wirst du dann hoffentlich in dem Ordner mit der main.c und dem makefile angelangt sein. Dann gibst du in das Terminal "make all" ein. Das heißt, der Compiler soll dir die main.c jetzt gefälligst in eine für den 2313 verständliche Sprache übersetzen.
Und das sollte er dann nach möglichkeit auch machen, sprich es läuft ne Menge Text vorbei und es sollte am Ende kein "Error" oder sowas stehen.
Und weil das ganze mit dem cd und dem Terminal relativ umständlich ist, kann man in Geany auch Buttons/Shortcuts mit diesen Aufgaben belegen:
Geh mal auf "Erstellen" -> "Kommandos zum erstellen konfigurieren" (die main.c muss geöffnet sein!). Und für das Kompilieren (ganz oben) ist auch schon irgendwas mit GCC eingetragen, aber wir schnalzen da das "make all" rein. Also den Inhalt der Zelle löschen und "make all" reinschreiben. Außerdem muss bei "Arbeitsverzeichnis" "%d" eingtragen werden, damit er den Befehl auch im richtigen Ordner ausführt.
Dann das ganze mit "OK" bestätigen. In der Symbolleiste oben hast du eine blaue Pyramide von der aus ein gelber Pfeil auf eine rote Kugel zeigt. Wenn du da drauf klickst sollte er jetzt kompilieren (In dem Fenster ganz unten siehst du dann den selben Text wie vorhin in dem Terminal). Es kann sein dass eine Fehlermeldung ähnlich "all muss nicht ausgeführt werden" oder so kommt. D.h. er kompiliert jetzt nicht nochmal, weil du ja deinen Quellcode noch garnicht verändert hast. Du kannst da z.B. einfach ein Leerzeichen bei deinem Text hinzufügen und wieder wegmachen, speichern, und dann sollte er wieder kompilieren.
Jetzt solltest du in deinem Ordner jede Menge weiteres Geraffel vorfinden, das du da nicht reingeschmissen hast. Das hat alles der Compiler erzeugt. Und da drunter sollte auch irgendwo eine main.hex sein. Und die ist jetzt deine übersetzte main.c. Und die versteht der Controller jetzt auch, d.h. die muss nur noch irgendwie in den Controller rein. Und das kannst du jetzt z.B. mit PonyProg machen, wie du es ja schon einmal gemacht hast.
Wenn der Controller dann fertig programmiert ist macht er - oh wunder - rein garnichts^^. Das liegt daran, dass im Quellcode noch nichts zum ausführen steht, ist ja nur das Grundgerüst. Was der dann machen soll muss noch zum Quellcode dazu, aber das kommt später.
Wenn du das soweit geklappt hat hast du die erste große Hürde eh schon überwunden, dann kanns mit C lernen losgehen ;-)
(Siehe Kampis Angebot 2 Beiträge weiter oben, hehe :cheesy:)
Hoffe das hilft weiter.
Viele herzliche Grüße und viel Erfolg
-schumi-
[EDIT] Verdammt, doch glatt das makefile vergessen^^