Hallo, ich benötige Euren Rat!! Ich möchte den Einstieg in die µP-Technik wagen und habe mir als Basis einen ATmega64L ausgesucht. Ich habe mir eine eigene Hardware bereits zusammengestrickt und möchte nun eine mir verständliche Entwicklungsumgebung einrichten. Aus diversen Beiträgen und der Atmel-Seite habe ich mir schon Informationen über die Programmierumgebung besorgt. Ich habe also aufgrund dieser Hilfestellungen nun WinAVR und AVRStudio 3.56 installiert (Die neuesten Versionen von AVRStudio - 4.12 & 4.13 - konnte ich nicht starten, Fehlermeldung bei Start). Nun mein Problem : 1.) Gibt es vernünftige Dokumentationen (gerne auch in Englisch) für diese SW-Tools, die mir für das Programmieren in C/C++ den Einstieg super leicht machen? Habe bisher nur für AVRStudio eine Anleitung für Version 4 gefunden (bezieht sich leider auf Assembler). 2.) Welchem dieser beiden Tools soll ich für das Erstellen des Programms den Vorzug geben? Wenn, warum? Welches Tool benötige ich für das Übertragen des Programms auf den µP? Oder können alle alles? 3.) Gibt es bei Anleitungen auch konkrete Angaben über den Umgang mit s.g. Fuses? Ich habe soviel darüber gelesen und gehört, dass ich nicht weiss, wann sie automatisch und wann manuell eingestellt werden müssen. Für zahlreiche Hilfestellungen danke ich schon mal im Voraus!!
Steht doch alles hier im Forum. Da gibt es das AVR-Tutorial und das AVR-GCC Tutorial. Und wenn Du unter dem Suchbegriff AVR und FUSES mal suchst kommen eine Menge Ergebnisse.
Wenn Du von C keine Ahnung hast, kann ich Dir folgenden Link empfehlen: http://www.pronix.de/pronix-4.html
die Anleitungen zu den Fuses stehen in den dazugehörigen Datenblättern. Wenn Du von C genausowenig Ahnung hast wie von Assembler, dann würde ich Assembler empfehlen. Die Programme sind kleiner und schneller. Durch deutsche Kommentaranweisungen, die man da reinschreibt, halte ich das Programm auch für lesbarer als C. Und man weiß, was der µc macht. Bei C muß man immer erst raten, was da eigentlich gemacht wird. Hierzu gibt es auch einen Thread mit Floating Point. Mich würde die näheren Umstände interessieren, warum Studio nicht startet. Bei mir startet Studio auch nur mit einer Fehlermeldung. Ich habe Win98, Studio Vers. 4.11 mit Service Pack 3, Bord K7S5A mit AMD XP1500+. Office nicht vorhanden. Javascript im IE abgeschaltet. Vielleicht gibt es Gemeinsamkeiten, die den Fehler näher einkreisen. In einem anderen Forum gab es den gleichen Fehler mit Win2000 und durch Update auf Service Pack 4 funktionierte das dort. Bei der Studio Version 3.56 habe ich das Gefühl, das dort noch Fehler vorhanden sein könnten oder nicht mein ATMEGA32 unterstützt werden könnte. Darum habe ich das noch nicht installiert. Außerdem weiß ich ja nicht, ob das besser läuft.
>Durch deutsche Kommentaranweisungen, die man da reinschreibt, halte ich das
Programm auch für lesbarer als C.
Das kommt auf die Vorkenntnisse an. Ich z.B. hab vorher Java
programmiert. Der Umstieg auf C ist mir nicht schwer gefallen, aber mit
Assembler hab ich immer noch meine liebe Mühe. Es sollte jeder für sich
entscheiden, was er besser und lesbarer findet.
Ich bezweifle auch, dass Assembler für einen blutigen Anfänger geeignet
ist.
>Ich bezweifle auch, dass Assembler für einen blutigen Anfänger geeignet ist. Achja? Wie hat man es in den 70ern / frühen 80ern gemacht .. da hat man noch teilweise die Bits einzeln in Speicher geklopft. Hab ich (mitte 90er) bei meinem ersten µC-System (noch schön mit CPU, RAM-Karte, IO-Karte) auch gemacht.. da war ich so 11-12 Jahre alt. Das geht wenn man einmal weiss wie man mit Bitschubsen Probleme löst :D Aber ja, ich habs auf AVR probiert, C ist bequem. Aber extrem zeitkritische Sachen bekomm ich in ASM besser und schneller hin. Gruß, Christian
Hallo, sehe ich wie Christian Erker. Wenn man kommplett anfängt, ist es ziemlich egal, man schreibt mit Sicherheit erstmal keone komplizierten und komplexen Programme. Man muß das Würterbuch, Rechtschreibung und Grammatik der Programmiersprache (die Syntax eben) lernen. Da kommt man mit Assembler erstmal besser weg. Label: Befehl Ziel, Quelle ; Kommentar Das war es erstmal schon, kein Klammersalat, keine Pointer, keine Datentypen usw. Ein paar Präprozessor-Direktiven sollte man sich anschauen: .include .org .def .equ .byte .db Das ich eine Schleife selber bauen muß, also Zählvariable setzen Schleife: ... Zählvariable erhöhen Vergleich, ob Endwert erreicht ist Wenn nein, denn eben nochmal Schleife Die Programmiersprache ist nur ein Handwerkzeug, das Problem ist die Umsetzung einer Idee, Zerlegen in Einzelteile, einen Ablaufplan daraus zu machen. Das muß man für jedes Programm in jeder Sprach und genau das ist für die meisten das Schwerste. Gesichtspunjte wie Portierbarkeit, Zeitaufwand, Lesbarkeit, Wartbarkeit sind am Anfang zumindest für Hobbysachen erstmal zweitrangig. Über Wartbarkeit beginnt man nachzudenken, wenn hier im Forum "gemault" wird, allerdings kann ich jedem nur empfehlen, möglichst schnell den Sinn von Vereinbarungen zu verstehen, Registernamen und Bitnamen, Variablen- und Konstantennamen statt irgendwelcher Bitmuster zu benutzen. .def COUNT = r16 ; Register 16 bekommt den Namen COUNT und dann ldi COUNT,23 ; Jetzt wird in dieses Register 23 geladen statt ldi r16,23 ist spätestens nach 3 Wochen wesemtlich lesbarer. Außerdem hat es einen sehr wesentlichen Vorteil: wenn ich das selbst immer einhalte, kann ich mit einer Änderung solche Programmteile woanders weiter benutzen. Wenn da z.B. r16 schon benutzt wird, dafür aber r20 noch frei ist, kostet es genau die Änderung einer Zeile .def COUNT = r20 ; Register 20 bekommt den Namen COUNT Wehe aber dem, der irgendwo in seinem Programm aus Bequemlichkeit mal statt ldi COUNT,12 ldi r16,12 geschrieben hat... Ok, ich hör auf und gehe erstmal wieder Umzugskisten packen... ;( Gruß aus Berlin Michael
Eben, wie ich schon sagte. Grundsätzlich ist es Geschmacksache und jedem selber überlassen. In Zukunft werde ich auch nicht mehr behaupten, assembler wäre für blutige Anfänger ungeeignet ;-) Für mich persönlich war C einfacher zu lernen, weil ich die ganzen Schleifen (if, while, switch...) aus java schon kannte. Ausserdem werden bei uns in der Firma alle uC Programme in C geschrieben. Was Michael sagt, ist auch sehr wichtig. Immer Aussagekräftige und nachvollziehbare Variablennamen verwenden. Und kommentieren. Grade wenn mehrere am gleichen Projekt arbeiten ist es für die anderen eher verständlich. Und für den Programmierer nach ein paar Wochen auch noch. Übrigens: Java hab ich nicht so aus Spass an der Freude gelernt, sondern war Teil meines Studiums. Ich konnte mir also meine erste Programmiersprache nicht aussuchen ;-) Grüsse aus der Schweiz Patrick
Hallo, ich bin der Meinung, wenn man wirklich erstmal halbwegs programmieren kann, ist ein Wechsel der Sprache relativ unproblematisch. Man hat nämlich den Vorteil, daß man weiß, WAS mach gerade machen will, nur nicht, wie es in der neuen Sprache ausgedrückt wird. Wenn ich eine Schleife brauche, suche ich eben in der Sprachbeschreibung geziehtl danach, schau mir an welche Versionen es gibt und nehme die passende. Wenn man nicht (sonderlich) programmieren kann, weiß man a) garnicht, daß jetzt eine Schleife fällig wäre oder b) hat immer nur zusammenkopiert, ohne zu verstehen. Wenn man eine Kette von 20 IF-Abfragen gebastelt hat, ist man erstmal zufrieden, wenn es macht, was man erwartet. Wenn man sich daran stört, sucht man Alternativen Switch/Case oder Tabellen z.B. und entdeckt Vereinfachungen. Kann oder will man es nicht, macht man bei der nächtsen Programmerweiterung eben 40 IF-Abfragen draus und nimmt den nächstgrößeren AVR, weil der Flash knapp wird. Assembler und Kommentare??? Was schwer zu schreiben war, soll auch schwer zu lesen sein. Nur was man nicht in Assembler programmieren kann, muß man löten. Letzteres scheint mir auch hier manchmal zuzutreffen, wenn man keine Multiplexroutine programmiert bekommt, nimmt man ein paar Schiebergister mehr. ;) Gruß aus Berlin Michael
Hallo zusammen! Erst mal vielen Dank für Eure Ratschläge. Ich möchte einigen Ratschlägen zuvorkommen und kann daher mal folgendes über mich sagen : Ich habe für meine Diplomarbeit einen Motorola-DSP auf Assembler programmiert, zu anderen Gelegegenheiten andere µPs auf C. Also mit ein paar Grundlagen komme ich schon klar. Aber bei der SW hatte ich entweder einen Kollegen, der mich persönlich eingewiesen hat, oder ich hatte eben ein "Rundumsorglospaket", sprich mit idiotensicherer (also : genau richtig für mich) Anleitung. Ich habe mir natürlich schon etliche Tutorials für den AVR durchgelesen/angelesen, aber mir fällt es eben schwer, die richtige und optimale Entwiklungsumgebung selbst zusammenzusuchen und damit auf Anhieb fertig zu werden. Ich habe jetzt PonyProg, AVRStudio und WinAVR installiert. Ich bin im Moment noch dabei, die Kommunikation zwischen PC und Testboard herzustellen. Ich habe da wohl ein HW-Problem mit dem ICSP auf meinem Board (falsche Pinbelegung und Portpins ausgewählt). Aber ich bin der Lösung dank µP.net auf der Spur. @Quehl: Ich habe einen PC mit Win98SE. Ich konnte die AVRStudio-Installationsdateien nicht starten. Ich habe also gar keine so wirkliche Wahl zwischen den Versionen gehabt. Also blieb mir nur Version 3.56. Die Installition verlief dafür aber auch reibungslos. Die Fehlermeldung habe ich mal als Bild angehängt. Gruß aus Duisburg
solche Fehlermeldungen erscheinen meist durch eine schlechte Speicherverwaltung von Win98(SE). Oft habe ich das, wenn zuviele Programme gleichzeitig geöffner sind und daher auch nicht mehr soviel Speicherplatz da ist. Ein Schließen hilft nicht. Meist hilft dann ein Neustart und sofortiger Aufruf des gewünschten Programms (Studio). Die Fehlermeldung wird von Windows erzeugt. Ich hatte nach dem Installieren und Aufruf von Studio eine Fehlermeldung, die von Studio erzeugt wurde. War irgendwas mit Frames. mfg
hi! kann mir jemand sagen welche pinbelegung der atmega48-20pu hat (die dil version) schickt bitte die antwort an: danny.wahrlich@gmx.de DDAANNKKEE GRINGEND!!!
Oha, wieder jemand, der glaubt, hier stehen tausend Leute Schlange, die nur darauf warten, dass jemand sagt: Lad Dir bitte für mich das Datenblatt von XXXXX runter und lies es mir vor.... ...SCNR...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.