Nabend zusammen, ich hab mir ein STK500 gekauft, hab keine (oder mitlerweile sehr wenig) Ahnung von µC und hab vor 2 Wochen das erste mal was mit Assembler gemacht. Nun möchte ich mich nach und nach ein wenig einarbeiten. Ziel ist halt mein Carreraprojekt (http://www.mikrocontroller.net/forum/read-1-238552.html#238561). Bis dahin ist noch ein weiter weg. Das Tutorial hab ich fast durch (mir fehlen die Bauteie für das Kapitel 4). Nun ist es ja so, das es Themen gibt, die immer wieder falsch gemacht werden, oder die wichtig sind und die man verstanden haben sollte. Es geht also nicht um Programme, die was Sinnvolles tun, sondern darum alle Bereiche die es bei µC gibt (Timer, Interrupts, usw.) vorzustellen. Leider habe ich bisher nur sehr wenige schöne Übungsaufgaben für diesen Bereich gefunden. Meine Idee ist nun, Aufgaben zu sammeln, die man in Assembler/C/C++ auf einem µC realisieren muss. Das ganze natürlich von "ganz einfach" bis "dicker Brocken". Ich wäre bereit diese Aufgaben zu sammeln und werde mich dann an diesen Aufgaben probieren (Das wird sicherlich sehr lustig für Euch). Die Musterlösungen könnte man dann mit den Aufgaben zusammen auf ner kleinen Webseite zusammenfassen, bzw. den Tutorials hier anhängen. Was haltet ihr davon? Wer macht mit, und postet mir hier Aufgaben? Aber denkt daran, ich bin blutiger Anfänger! -- Martin
Prima Idee. Vorschlag: Lauflicht. Erst mit Warteschleife in eine Richtung, dann in beide Richtungen (Knight-Rider...). Dann das ganze über einen Timer. Kommunikation über die serielle Schnittstelle. Dann vielleicht Lauflicht mit Parameter. Entweder über AD-Wandler oder über die serielle. Wenn du mit der seriellen arbeitest, könntest du auch eine Stopp-Uhr mit der Ausgabe am PC realisieren. Ausgabe auf LCD. Lauflicht oder Ausgabe über Siebensegment-Anzeige... Musterlösungen sind gut, aber vermutlich nie eindeutig... Gute Nacht Rahul
Moin, ich bring das Thema noch mal nach oben, weil es mir so am Herzen liegt. Ich fände es Prima, wenn sich hier noch ein paar von Euch mit Ideen beteiligen. > Prima Idee. Freut mich, das es jemand aufgreift! > Musterlösungen sind gut, aber vermutlich nie eindeutig... Schon klar! Aber Sie könnten eine Anregung sein! -- Martin
Schau dich doch mal in den älteren Beiträgen hier im Forum um. Da gibt es viele Ideen und auch viele Beispiele, deren Lösung bedeutend verbessert werden kann. Auf diese Art und Weise kannst du dich einarbeiten und wirst dich dabei vor neuen, eigenen Ideen nicht retten können. Kannst ja (bei Bedarf) die betreffenden alten Beiträge wieder hoch holen. Ich kann mich z.B. an einige Beispiel-Codes in ASM von mir erinnern, in denen ich später (nach dem "veröffentlichen") Fehler gefunden habe. Es gibt also viel zu entdecken... ...
Hallo, prinzipell hast du Recht! Aber: Anfänger (wie ich) können oft nicht einschätzen, welche Themen wichtig sind, was man an Grundlagen begriffen haben sollte und welche Techniken sinnvoll sind (falscher Ansatz bei einem Problem). Daher war meine Idee, eine Sammlung von Übungsaufgaben zu schaffen (evtl. mit Musterlösungen), die diese Bereiche abdecken. Diese Übungsaufgaben sollten dann an das wirklich guten AVR Tutorial drangehängt werden. Da ich mich aber nicht in der Lage sehe, zu entscheiden welche Themen da in Frage kommen, hatte ich hier auf die Hilfe von den Cracks gehofft. Wie schon geschireben: Ich bin bereit diese Infos zu sammeln und aufzuarbeiten um Sie dann hier zur Verfügung zu stellen. Aber ihr könnt aus Eurer Erfahrung viel besser sagen, was immer wieder zu Problemen führt. Wenn Ich am WE ein wenig Zeit finde, fange ich mal mit den Dingen ann, die mir so einfallen. Es wäre aber wirklich super, wenn ein paar von Euch noch Stichworte in die Runde werfen. Keiner soll hier fertige Aufgaben vormulieren, darf das aber gerne tun :-) -- Martin
Wie wäre es mit der Realisierung eines Taschenrechners? In dieses Projekt könnten folgende Punkte einfließen: - Auswertung einer Tastaturmatrix - Entprellung der Tasten - Addition, Subtraktion etc. von Zahlen realisieren - Ansteuerung eines Displays
Hallo, ja genau solche Sachen. Vielleicht sogar noch eine Stufe niedriger ansetzen. Stellt Euch vor, ihr fangt neu mit µC an. Bisher habt ihr noch nichts von Registern, usw. gehört :-) -- Martin
Moin, Vielleicht fällt Euch ja was gescheites zu den Unterschieden der Register bis R16 und ab R16? -- Martin
Was soll man da für eine Übungsaufgabe zu stellen. Es gibt Befehle, die nur mit den oberen (oder waren es die unteren) 16 Registern funktionieren. Das ist Fakt, da gibt es nichts zu üben :)
> Vielleicht fällt Euch ja was gescheites zu den Unterschieden der > Register bis R16 und ab R16? Nungut, es gibt nunmal: - Register zweiter Klasse (die "dummen") - Register erster Klasse (die "guten") - Register für spezielle Zwecke (LPM, MUL, Pointer) - I/O, der schnell und bitweise ansprechbar ist - I/O, der schnell, aber nur byteweise ansprechbar ist - I/O (extended), der nur langsam und byteweise ansprechbar ist - SRAM (intern / evtl. extern) - EEPROM - Flash, in dem die INT-Vektoren liegen - Flash, für Programm und Konstanten verfügbar - Flash, für Bootloader reserviert - ein Byte mit Lockbits - einige Bytes mit Fusebits - 3 Signaturebytes - Calibrationsbytes (null bis 4 Stück) - Nochwas vergessen? Nicht alle AVR-Typen haben alle angegebenen Kategorien. Es ist also notwendig, sich anhand des jeweiligen Datenblattes mit der Architektur vertraut zu machen. Du kannst gerne den Dingen auf den Grund gehen und daraus einen WIKI-Beitrag (Artikelsammlung) machen. Dazu brauchst du nichtmal dein STK500 oder die dazugekauften Teile. Es genügt die Simulation im AVR-Studio und das Lesen (und Verstehen) der Datenblätter. Dies sind nämlich Grundlagen, die vielen Anfängern fehlen. Diese Fragen kommen andauernd wieder auf, besonders zu Beginn eines neuen Semesters. Es wäre also ganz nett, wenn man diese Fragen mit einem Link auf die Artikelsammlung (auf deinen Beitrag) beantworten könnte. Dann könntest du (wenn du schon "redaktionell" arbeiten möchtest) mal den Programmierstil von Anfängern unter die Lupe nehmen, die Interrupts meiden und mit Warteschleifen arbeiten. Und als Gegensatz die Vorschläge (in den Antworten auf solche Fragen), das Programm so aufzubauen, dass nirgends gewartet werden muss, weil man zum Hauptprogramm zurückspringt, wenn der zu erledigende Job (noch) nicht ausgeführt werden kann. Wenn ich mal etwas Muße habe, suche ich mal nach alten Beiträgen, in denen (im Dialog) Grundwissen vermittelt wird und über Stolpersteine diskutiert wird. Diese kannst du dann gerne (mit Link auf den Original-Thread) redaktionell aufarbeiten und in die Artikelsammlung setzen. Ich habe schonmal etwas gesucht. Interessantes Grundwissen (und viel Blödsinn) erfährst du z.B. hier: http://www.mikrocontroller.net/forum/read-1-113815.html#113815 http://www.mikrocontroller.net/forum/read-1-122901.html#122901 http://www.mikrocontroller.net/forum/read-1-136203.html#136203 http://www.mikrocontroller.net/forum/read-1-124555.html#124555 http://www.mikrocontroller.net/forum/read-1-144964.html#144964 http://www.mikrocontroller.net/forum/read-1-160711.html#160711 http://www.mikrocontroller.net/forum/read-1-235092.html#235092 Das soll erstmal genügen. Hier erfährst du erstmal sehr viel, was man alles falsch oder besser machen kann. Dies kannst du ja redaktionell aufarbeiten. Wenn du damit fertig bist, kannst du ja spezielle Begriffe wie UART, TIMER, ADC, PWM, usw. in die Forumsuche eingeben und weiter recherchieren. Ohne Recherche werden dir kaum Ideen für Artikel einfallen. Da das Forum schon etwas länger existiert als du mit dabei bist, kannst du davon ausgehen, dass hier schon fast jede Frage gestellt und beantwortet wurde, sofern sie nicht die allerneuesten Controller betrifft. ...
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.