Hallo! Der ATmega8 ist ja schon seit ein paar Jahren überholt und als solches "Museumsstück" meistens sogar teurer als seine Nachfolger. Hat irgendwer schon mal das AVR-Tutorial mit der neuesten Version, also dem ATmega88, durchgespielt?
:
Verschoben durch Moderator
Das geht natürlich. Man kann das Tutorial mit allen atmega verwenden. Allerdings muß man (sowieso) das Datenblatt zum verwendeten Prozessor in der Hand haben, da sich natürlich mal Pinbelegungen, Registerbezeichnungen tec. unterscheiden. Mit etwas Mitdenken geht es also. Wobei atmega8 und atmega8a als ziemlich gleich durchgehen, was aber auch nicht vor dem Datenblatt bewahrt.
Klaus Wachtler schrieb: > Man kann das Tutorial mit allen atmega verwenden. Allerdings muß man > (sowieso) das Datenblatt zum verwendeten Prozessor in der Hand haben, da > sich natürlich mal Pinbelegungen, Registerbezeichnungen tec. > unterscheiden. Ja, das ist es eben. Man kann das Tutorial auch mit dem ATmega1284 durcharbeiten, aber der Sinn dieses Tutorials ist ja, dass es ein Anfänger durcharbeiten können soll, ohne immer wieder ins Datenblatt zu schauen. Meine Frage muss ich dann wohl umformulieren: Kann man das Tutorial auch mit einem ATmega88 nutzen, ohne im Datenblatt immer wieder prüfen zu müssen, ob sich an den Registern etwas geändert hat?
Kann man. Ist aber nicht empfehlenswert. Das Tutorial würde dann nur dazu führen, daß man das Datenblatt nicht sieht. Sinnvoller wäre es, alles aus dem Tutorial im Datenblatt wieder zu finden - dann lernt man nämlich mehr als nur abzukupfern. 8 und 8A sind in der Praxis praktisch gleich, 88 ist sehr ähnlich (hauptsächlich bei Interrupts etwas anders). Wer will, kann also erstmal ohne DB anfangen und bei Problemen sich auf die Suche machen.
Markus W. schrieb: > aber der Sinn dieses Tutorials ist ja, dass es ein > Anfänger durcharbeiten können soll, ohne immer wieder ins Datenblatt zu > schauen. Nein, das ist es nicht! Die Register werden beschrieben und auf ihre Funktion eingegangen. Wie das ganze aber mit dem Bausteil zusammen ins Bild kommt, lässt sich nur zusammen mit dem Datenblatt verstehen. Wer nur vom Tutorial abschreibt, ohne zu verstehen, was vor sich geht, wird nie ohne ein Tutorial auskommen. Das ist nicht Sinn der Sache. Markus W. schrieb: > Kann man das Tutorial auch mit einem ATmega88 nutzen, ohne im Datenblatt > immer wieder prüfen zu müssen, ob sich an den Registern etwas geändert > hat? Nein. Denn natürlich hat sich einiges geändert. Bits sitzen in anderen Registern, neue Funktionen brauchen neue Bits, die auch korrekt gesetzt werden sollen.
Hallo, meiner Meinung nach wär eine Mischung der beiden Ideen optimal. Also erst einmal ein fest vorgegebener Weg für einen ganz bestimmten AVR so das der Anfänger schnell ein fertiges Zwischenergebniss bekommt. Danach aber die genaue und anfängertaugliche (daran scheitert es oft - nicht alles ist für einen Anfänger selbstverständlich) Erklärung warum so und nicht anders vorgegangen wurde und wie das vorgegebene Beispiel auf einen anderen AVR angepasst werden muss (mit einen Schritt für Schritt Beispiel anhand der beiden Datenblätter), so lernt man wie ein Programm in der Praxis angepasst wird (bitte nicht irgendwelche "selbstverständlichen" Kleinigkeiten übersehen - für einen totalen Anfänger ist das nicht unbedingt der Fall). Ja ich weis, so ein Tutorial (Lehrgang) ist alles andere als einfach zu Schreiben, ich kann dass leider auch nicht wirklich. Wäre doch ein schönes Wiki Projekt. Ein Beispiel wie ich mir einen gutes Tutorial vorstelle ist z.B. http://halvar.at/elektronik/kleiner_bascom_avr_kurs/ dort wird wirklich alles Anfängertauglich dargestellt leider aber in Bascom und es wurde zu früh aufgehört, es gibt ja noch viel mehr Möglichkeiten mit einen AVR µC. mfg Bastler
Bastler schrieb: > das der Anfänger schnell ein fertiges Zwischenergebniss bekommt. > Danach aber die genaue und anfängertaugliche (daran scheitert es oft - > nicht alles ist für einen Anfänger selbstverständlich) Erklärung warum > so und nicht anders vorgegangen wurde und wie das vorgegebene Beispiel > auf einen anderen AVR angepasst werden muss (mit einen Schritt für > Schritt Beispiel anhand der beiden Datenblätter), so lernt man wie ein > Programm in der Praxis angepasst wird (bitte nicht irgendwelche > "selbstverständlichen" Kleinigkeiten übersehen - für einen totalen > Anfänger ist das nicht unbedingt der Fall). Das ist eigentlich eine gute Idee für ein 'hinteres Kapitel' im Tutorial. Titel: "Hilfe, ich benutz ja gar keinen Mega8! Wie kann ich trotzdem Nutzen aus dem Tutorial ziehen?" > Ein Beispiel wie ich mir einen gutes Tutorial vorstelle ist z.B. > http://halvar.at/elektronik/kleiner_bascom_avr_kurs/ > dort wird wirklich alles Anfängertauglich dargestellt leider aber in > Bascom und es wurde zu früh aufgehört, es gibt ja noch viel mehr > Möglichkeiten mit einen AVR µC. Das ist das leidige Problem fast aller Tutorien. Der Autor fängt voller Enthusiasmus an und irgendwann merkt er, dass man vom Hundersten ins Tausendste gehen muss, um auch wirklich alles so aufzubereiten, dass es jeder versteht, selbst wenn er noch nie mit der Materie zu tun hatte. Auf der anderen Seite darf man aber auch nicht ins Gegenteil verfallen und den Leser mit zuviel Detailinformation überfrachten, vor allen Dingen, wenn er diese Details an dieser Stelle noch gar nicht benötigt und daher auch nicht einordnen kann. Das verwirrte dann eher als es ihm nützt. Alles in allem eine Gratwanderung, in die viel Zeit reinfliesst. Und irgendwann schläft die Sache dann ein. Das ist nicht nur bei diesem Tutorial so, sondern bei den vielen anderen Programmiersprachen-Tutorien. Drum halte ich zb von Online-Tutorien nicht viel, sofern es im Buchhandel genügend Literatur zum jeweiligen Thema gibt. Zb. kann man die meisten C-Tutorien, die ich bisher gesehen habe (es gibt auch Ausnahmen), guten Gewissens ruhig vergessen. Genau das gleiche Problem: Nicht vollständig, oft fehlen tatsächlich wesentliche Details und manchmal sind sie sogar einfach nur falsch. Aber danke für die Idee. Mal sehen, ob ich da was draus machen kann.
Markus W. schrieb: > Der ATmega8 ist ja schon seit ein paar Jahren überholt und als solches > "Museumsstück" meistens sogar teurer als seine Nachfolger. > > Hat irgendwer schon mal das AVR-Tutorial mit der neuesten Version, also > dem ATmega88, durchgespielt? Das Tutorial wurde ursürünglich für den AT90S4433 geschrieben. Der ist nun wirklich überholt. Es war anfangs auch recht klein. Dann wurde es so nach und nach ergänzt und nebenher für den ATMega8 abgeändert. Einige Dinge der Classic-AVRs haben sich dabei tapfer gehalten, z.B. der Irrglaube, dass man unbedingt mit 4 MHz arbeiten müsse oder dass am Reset ein RC-Glied sein müsse. Das Tutorial jetzt auf einen der moderneren AVRs umzuschreiben ist eine Menge Arbeit und ist eigentlich niemandem zuzumuten. Den ATMega8A habe ich mir noch nicht angesehen, aber der ATMega48/88/168 hat einen völlig neu organisierten I/O-Bereich, viele I/O-Register liegen an anderen Adressen, teilweise sind andere Zugriffsbefehle nötig, da der neue Extended-I/O-Adressbereich nicht mehr mit In/Out angesprochen werden kann, sondern wie SRAM angesprochen werden muss. Dazu kommt auch noch, dass die interne Peripherie weiterentwickelt wurde, Timer haben neue Funktionen, der ADC andere Referenzspannung, ... Da hilft wirklich nur der Blick ins Datenblatt. Markus W. schrieb: > aber der Sinn dieses Tutorials ist ja, dass es ein > Anfänger durcharbeiten können soll, ohne immer wieder ins Datenblatt zu > schauen. Aha, Copy&Paste bei deaktiviertem Gehirn... - Nein, das ist nicht Sinn der Sache! Sinn der Sache ist es, bei den ersten Schritten geführt zu werden, die ersten Fallstricke zu umgehen und das eigenständige Denken in diesem Fachgebiet zu erlernen. Markus W. schrieb: > Der ATmega8 ist ja schon seit ein paar Jahren überholt und als solches > "Museumsstück" meistens sogar teurer als seine Nachfolger. Vorschlag: Da Dir der ATMega8 zu teuer ist, sponsere ich Dir einen ATMega8. Als Gegenleistung arbeitest Du damit das Tutorial durch. Immer wenn Du ein Feature verstanden hast, arbeitest Du es nochmal mit dem billigen ATMega88 durch und schreibst das entsprechende Kapitel des Tutorials auf den ATMega88 um, z.B. als Wiki-Artikel. Wenn Du mit allen Kapiteln fertig bist, kannst Du AVRs programmieren. Vielleicht übernimmt Andreas dann auch Dein neues Tutorial oder bindet es zumindest zusätzlich ein. Das wäre doch mal etwas produktiver, als immer nur von Anderen zu erwarten, dass sie immer alles mundgerecht servieren. ...
Hannes Lux schrieb: > Den ATMega8A habe > ich mir noch nicht angesehen Den sollte man bedenkenlos anstelle des ATmega8 einsetzen können, denn genau das ist ja der Sinn der A-Versionen.
Jörg Wunsch schrieb: > Den sollte man bedenkenlos anstelle des ATmega8 einsetzen können, > denn genau das ist ja der Sinn der A-Versionen. Das denke (vermute) ich auch, aber ich habe noch keine ATMega8A gekauft und auch keinen Bedarf dafür gesehen, also bestand keine Notwendigkeit, Datenblatt und Mig-Note zu lesen. Die meisten Dinge, für die ich in letzter Zeit einen AVR mit 28 Pins brauchte, konnte ich mit dem Mega48 erschlagen. Naja, außer dem OSD für ATV (LM1881 und ATMega8), aber das war ein Einzelstück, da gibt es in meinem Umfeld vermutlich kein weiteres Interesse. Beim ATTiny13 bin ich auf die A-Version umgestiegen, da gibt es keine Probleme mit dem Austausch. Meine ATTiny13-Programme laufen ohne Änderung auch auf dem ATTiny13A. ...
Hannes Lux schrieb: > Einige > Dinge der Classic-AVRs haben sich dabei tapfer gehalten, z.B. der > Irrglaube, dass man unbedingt mit 4 MHz arbeiten müsse oder dass am > Reset ein RC-Glied sein müsse. Ich habs meist aus Faulheit weggelassen, wusste gar nicht, dass das grundsätzlich nicht mehr notwendig ist. Danke für die Info! > Markus W. schrieb: >> aber der Sinn dieses Tutorials ist ja, dass es ein >> Anfänger durcharbeiten können soll, ohne immer wieder ins Datenblatt zu >> schauen. > > Aha, Copy&Paste bei deaktiviertem Gehirn... - Nein, das ist nicht Sinn > der Sache! Sinn der Sache ist es, bei den ersten Schritten geführt zu > werden, die ersten Fallstricke zu umgehen und das eigenständige Denken > in diesem Fachgebiet zu erlernen. Nein, so war das nicht gemeint. Ich denke, für einen blutigen Anfänger ist es am besten, wenn er erst einmal ein Erfolgserlebnis hat, ohne sich um zu viele Details kümmern zu müssen. Und sei es, dass einfach mal eine LED blinkt - das reicht schon. Wenn er tiefer einsteigt und sich z.B. mit Interrupt-Routinen befasst, dann sollte auch das Tutorial gelegentlich aufs Datenblatt verweisen. > Markus W. schrieb: >> Der ATmega8 ist ja schon seit ein paar Jahren überholt und als solches >> "Museumsstück" meistens sogar teurer als seine Nachfolger. > Vorschlag: > Da Dir der ATMega8 zu teuer ist, sponsere ich Dir einen ATMega8. Danke. :-) Aber mir ging es eher um die Verfügbarkeit und den Sinn, einen Chip zu kaufen, der weniger kann als seine Nachfolger, dafür aber teurer ist. > Als Gegenleistung arbeitest Du damit das Tutorial durch. > Immer wenn Du ein Feature verstanden hast, arbeitest Du es nochmal mit > dem billigen ATMega88 durch und schreibst das entsprechende Kapitel des > Tutorials auf den ATMega88 um, z.B. als Wiki-Artikel. Wenn Du mit allen > Kapiteln fertig bist, kannst Du AVRs programmieren. Vielleicht übernimmt > Andreas dann auch Dein neues Tutorial oder bindet es zumindest > zusätzlich ein. Das wäre doch mal etwas produktiver, als immer nur von > Anderen zu erwarten, dass sie immer alles mundgerecht servieren. Ich glaub, da haben wir uns falsch verstanden. Mir gings nicht darum, das Tutorial nun komplett auf einen anderen Typ umzustellen. Das AVR-Assembler-Tutorial hier auf mikrocontroller.net ist seeehr gut! ----------------------------------------------------------------------- Sinnvoll wäre es aus meiner Sicht trotzdem, an allen Stellen, an denen man für den ATmega88 etwas anderes schreiben müsste, einen entsprechenden Hinweis einzufügen. Den Rest des Tutorials würde ich lassen. Damit wäre es für alte und neue Bausteine verwendbar.
Atmel hat auch viele Apnotes die die Migration von Prozessoren auf deren Nachfolger beschreiben. Zumindest einen Link dahin könnte man einfügen. Aber auch der GCC und die Libs wurden weiterentwickelt, meine Erfahrung ist das nach jedem WinAVR Update alte Quellen nicht mehr fehlerfrei kompilieren. Da ist einfach etwas Phantasie gefragt.
JojoS schrieb: > Aber auch der GCC und die Libs wurden weiterentwickelt, Ich vermute, es geht hier nicht um C, sondern um das ASM-Tutorial. Markus W. schrieb: > Ich glaub, da haben wir uns falsch verstanden. Das freut mich. > Mir gings nicht darum, > das Tutorial nun komplett auf einen anderen Typ umzustellen. Das ist auch nicht mal so nebenbei möglich. Ich denke aber, Karl-Heinz wird da schon die richtige Stelle für einen passenden Hinweis finden. Du kannst ja auch mal quer lesen, auch wenn Du nicht mit Bascom arbeiten willst: http://www.rowalt.de/mc/avr/AvrbuchOnline/AvrLehrbuch000.htm Da wirst Du sehen, dass auch der Autor eines AVR-Basic-Buches immer wieder auf das Datenblatt verweist... ;-)) ...
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.