|
|
(194 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
− | == ToDo ==
| |
− | * variablen/register definition
| |
− | * __config syntax + erklärung
| |
− | * sonderbefehle wie <tt> errorlevel -302 </tt>
| |
− | * codeschnipsel wie z.b. wait oder interrupt ende und anfange
| |
− | == vorgeschlagene Gliederung ==
| |
| | | |
− | * Einführung
| |
− | ** Assembler
| |
− | ** Grundbeschaltung
| |
− | ** Wahl des PICs
| |
− | * Programm
| |
− | ** Allgemeines
| |
− | ** Programmtypen (erste vier: eigener Vorschlag)
| |
− | *** Einfach
| |
− | *** Verzweigt
| |
− | *** Geschleift
| |
− | *** Unterbrechbar (also mit Interrupts)
| |
− | *** Multitask
| |
− | ** Programteile
| |
− | *** Unterprogramme
| |
− | *** Lookup tables (z.B. Zeichengenerator für GLCD)
| |
− | *** Schnittstellen
| |
− | ** Optimierung
| |
− | *** Speicherbedarf
| |
− | **** Programmspeicher
| |
− | **** RAM
| |
− | *** Ausführungszeit
| |
− | ** Fehlersuche
| |
− | * Direktiven für Assemblerprogramm
| |
− | ** __config
| |
− | ** errorlevel (habe ich bisher noch nicht benutzt)
| |
− | ** #define
| |
− | ** EQU
| |
− | ** ORG
| |
− | * Mid-Range (mit 14 bit Befehlslänge)
| |
− | ** Kurzübersicht Prozessorbefehle
| |
− | ** Ausführliche Beschreibung zu den Befehlen
| |
− | ** Besondere, oft gebrauchte Register
| |
− | *** ANSEL
| |
− | *** STATUS
| |
− | *** TRIS
| |
− | *** PORT
| |
− | *** TIMER
| |
− | ** Bänke (sowohl die bei mehr als 2k Befehle als auch die bei den normalen speicher bänken)
| |
− | ** Flagsüberprüfung im STATUS-Register
| |
− | ** Codeschnipsel
| |
− | *** A/D-Wandler
| |
− | *** PWM
| |
− | *** Interrupts
| |
− | *** RS232 mit PC
| |
− | *** Tasten
| |
− | *** Mausrad
| |
− | *** Ausgabe auf LCD Displays
| |
− | **** Dot-Matrix
| |
− | **** Grafik
| |
− | **** Handy
| |
− | *** Hilfsmittel
| |
− | **** PIC Miniterminal (mit Dot-Matrix LCD und drei Tasten, benötigt nur 2 I/O Pins und 2 ICs)
| |
− | **** PIC RAM Monitor (mit eigenem Interrupt, zeigt Registerinhalte sogar wenn das Programm in endlosen Schleife läuft, was besonders für Anfänger nutzlich ist, benötigt PIC Miniterminal)
| |
− | **** PIC Trainer (Hilfswerkzeug für PIC Versuchsprogramme, benötigt PIC Miniterminal)
| |
− | **** PIC Profiler (zum messen von Ausführungszeit zwischen call und return, benötigt PIC Miniterminal)
| |
− | * High-End (mit 16 bit Befehlslänge)-->(?)
| |
| | | |
− | == Allgemeines == | + | == Befehlsausführung == |
− | * ist es sinnvoll eine extra unterteilung zu midrange zu machen? oder soll man davon ausgehen, dass nur midrange verwendet wird?
| + | |
− | -------
| + | |
− | ... gelöschte Diskussion ...
| + | |
− | -------
| + | |
− | Herzlichen Dank! Wenn ich könnte, hätte ich es genauso gemacht. Ich möchte aus diesen Symbolen noch ein paar sehr einfachen PADs erstellen. Kann ich sie irgendwie einzeln aus der Grafik entnehmen und danach zusamenn setzen oder könntest Du mir dabei weiter helfen?(dann mache ich wieder ASCII-Grafik :)).
| + | |
| | | |
− | Heute früh um ca. 7 Uhr habe ich im PIC Controller Forum ein Beitrag (Assembler Routine) von echtem Newbie gesehen, den wollte ich beantworten, aber leider verstehe ich nicht um was ihm geht.
| + | Ich kann mir nicht vorstellen, dass der PIC (also PIC10...18) pipelined arbeitet, also wirklich bis zu 4 Befehle quasi gleichzeitig. So gut kenne ich die PICs nicht, aber soweit ich weiss wirklich 4 Oszillator Takte = 1 Rechentakt für einen Befehl, und erst danach kommt der nächste Befehl.--Besserwessi 13:17, 10. Dez 2013 (CET) |
| | | |
− | Hast Du schon darüber nachgedacht, ob wir auch ein bischen über andere PIC Familien schreiben ?
| |
− | Ich denke, dass wir für das bishierige Teil vielleicht anderes Titel anwenden, um später etwas über 18F fur fortgeschrittene schreiben zu können. Ich versuche mein Teil, so lange es geht, unabhängig vom PIC-Typ zu schreiben, aber möchte am Ende für Newbies ein konkretes Beispielprogramm für PIC16F84 vom Null erstellen, damit unsere Leser auch etwas zu tun haben.
| |
− |
| |
− | Wir haben nur zwei Möglichkeiten:
| |
− | 1.Schreiben alles was wir wissen und am Ende das ganze sinvoll editieren.
| |
− | 2.Ein detaliertes Inhaltsverzeichniss des Artikels erstellen und mit unserem Wissen füllen.
| |
− | Zur Zeit sind wir, glaube ich, bei der ersten Variante.
| |
− |
| |
− | Ich habe mir gestern zum Vergleich das für AVRs angeschaut und mich gefreut, dass ich kein Schriftsteller bin. :) [[Benutzer:PICture|PICture]] 08:25, 27. Mär 2007 (CEST)
| |
| ---- | | ---- |
− | also das mit den grafiken ist kein problem, das kann ich schon machen! ich wäre auch für die 2. variante, finde es aber saudoof wenn dann nur die überschriften da stehen und kein inhalt. deswegen würde ich vielleicht die struktur hier in der diskussion aufbauen und dann die überschriften erst in den artikel nehmen, wenn man gerade daran arbeitet.
| |
| | | |
− | habe gerade paar ?? zu deinem text hinzugefügt.
| + | === Anmerkung von witkatz am 18.02.2014, 15:55: === |
− | | + | Die Befehlsausführung und das Pipelining sind in der folgenden Doku im Kapitel "4.3 Instruction Flow/Pipelining" beschrieben |
− | noch was: das mit dem beispielprogramm finde ich eine sehr sehr gute idee! allerdings sollte man darauf achten, dass die ganzen infos nicht im weg zum beispielprogramm gebracht werden, sondern extra (und ohne beispielprogramm, sondern mit allgemeinen beispielen) stehen. dass man den artikel nicht nur zum lernen, sondern auch zum nachschlagen verwenden kann.
| + | [http://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf PICmicro Mid-Range MCU Family Reference Manual] |
− | | + | |
− | und noch mal was: wenn es für dich ok ist, lösche ich mal den anfang der diskussion, dass es nicht ganz so lang wird hier. ok?!
| + | |
− | | + | |
− | mein newbee hat sich gerade gemeldet ;-) er wird mir dann berichten, oder auch nicht :-/ [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 13:19, 27. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Wunderbar!:) Wir denken (fast) identisch. Mach, bitte, alles so wie Du meinst, ich bin mit allem was Du geschrieben hast einverstanden. Das Beispielprogram werde ich warscheinlichst ganz am Ende machen, da ich noch nicht weiss wie kompliziert es seien sollte. (vielleicht sollen es mehrere werden?)[[Benutzer:PICture|PICture]] 20:51, 27. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | ich habe mal ein wenig probiert eine gleiderung zu erstellen. ergänze/ändere die doch bitte ;-) habe bestimmt die hälfte vergessen [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 21:02, 27. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Ich habe schon ein bischen dazu geschrieben und einiges geändert mit einer Hoffnung, dass Dir auch gefällt. Jedem von uns beiden kann jederzeit was neues einfallen, dann ändern wir es. Immer wenn ich was vor sich schreibe, fehlt mir die Reaktion des Lesers. Vielleicht sollen wir ein Tread für feedback im Forum PIC Controller öffnen?[[Benutzer:PICture|PICture]] 07:35, 28. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | joa. das wäre mal eine gute idee. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 14:42, 28. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | Ich habe "mein" Teil ein bischen geändert, nachdem ich festgestellt habe, dass durch Anklicken eines Menüpunktes im "Inhaltverzeichniss" (ganz oben) man landet im Artikel sofort in diesem Thema. Du hast etwas über Nachschlagen geschrieben, da wird jemand sicher einen bestimmten Befehl sofort sehen wollen und nicht in der langer Liste der Beschreibungen scrollen und suchen, oder?. Du weisst bestimmt, wie es zu machen ist. Wenn es nicht möglich ist, würde ich die Beschreibungen zumindest alfabetisch wie im Übersicht ordnen.
| + | |
− | | + | |
− | Ich vermute, dass die Beschreibung zu Befehlen noch nicht fertig ist, da fehlt z.B. ANDLW % ANDWF. Ich würde auch etwas über Benutzung von einigen Befehlen in der Praxis schreiben (z.B. OR für bit eineln setzen, AND für bit einzeln löschen, XORWF fürs Vergleichen von zwei Register (MOVF R1,O oder MOVF R1,W), danach XORWF R2) u.s.w. Bitte, nimmt es nicht als Kritik, das sind nur meine Gedanken. :) Ich bedanke mich im voraus bei Dir, wenn Du mir auch etwas über mein Teil schreibst.[Benutzer:PICture|PICture]] 10:32, 30. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | auf jeden fall sehr gute idee von dir. das baruche ich auch manchmal und muss dann immer so arg nachdenken ;-) ich muss mal schaun ob ich da was hinbekomme. das mit dem klicken für die befehle habe ich mir auch schon gedacht. das könnte man auf jeden fall machen. ich finde den teil mit den oszilatoren ziemlich cool! ich hoffe ich habe heute abend noch ein bisschen zeit, dann mach ich auch wieder bisschen weiter mit den befehlen und ein paar pixel grafiken ;-) dann lese ich mir auch mal wieder alles im gesamten durch... mal noch ne doofe frage: das F bedeutet immer flash speicher. was bedeutet dann das C ? [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 17:24, 30. Mär 2007 (CEST)
| + | |
Ich kann mir nicht vorstellen, dass der PIC (also PIC10...18) pipelined arbeitet, also wirklich bis zu 4 Befehle quasi gleichzeitig. So gut kenne ich die PICs nicht, aber soweit ich weiss wirklich 4 Oszillator Takte = 1 Rechentakt für einen Befehl, und erst danach kommt der nächste Befehl.--Besserwessi 13:17, 10. Dez 2013 (CET)