PIC Programming

Dieses Thema im Forum "Lötkunst" wurde erstellt von XeroX, 25. August 2009.

  1. XeroX

    XeroX Tach

    ist jetzt nur so eine spontane idee von mir und ich hab ehrlich gesagt null ahnung davon.
    aber interessieren würde es mich schon.
    also sind die leute gefragt, die so was schon mal gemacht haben und ahnung davon haben ;-)
    ich hab schon ein bischen im internet geforscht, aber wenn man bei null anfängt ist es schwer zu entscheiden in welche richtung es gehen soll.
    welche programmiersprache, welche programme, u.s.w.
    ziel ist es natürlch erstmal die grundkenntnisse zu erlangen und dann soll es in richtung sequencer gehen.
    der RYK M185 hat mich erst auf die idee gebracht.
    jetzt wäre ich euch für ein paar tips die sich mit dem ganzen thema befassen dankbar !

    welche programmiersprache ?
    welche software ?
    welche literatur zum thema ?
    dann hab ich noch dieses starterkit STK500
    von AVR gesehen, ist das überhaupt die richtige richtung ?
     
  2. b166er

    b166er Tach

    Ola,

    ich hatte vor kurzem die gleiche Entscheidung, hier ein paar Entscheidungshilfen :

    Hardware : PIC und AVR sind zwei Welten, PIC heißen die uController von Microchip, AVR / ATMega ist das Produkt von ATMEL, = andere Firma und da is auch nix wirklich kompatibel zwischen denen. Anleitungen gibt´s für beide in Hülle und Fülle, aber ich denk das ist so wie die Entscheidung Benz oder BMW - Geschmackssache eben. Der arduino baut auf atmel auf.

    Sprache: Assembler hilft immer, wenn´s gaaaaanz genau sein soll und Du lernen willst, was da genau passiert. Wird immer auch gerne für zeitkritisches genommen, ist dafür aber pro Prozessortyp (und nicht nur pro Familie) spezifisch. Sprich : PIC-Assembler und AVR-Assembler haben NIX miteinandern zu tun, sind eigentlich verschiedene Sprachen. Innerhalb einer Familie kann man zwar einigermassen gut portieren, aber auch das ist nicht ohne Fallen.

    C sollte es für größere Projekte sein, weil ALLES in Assemler leicht zum Jahrhundertprojekt wird. Assi nur da, wo´s nötig ist und auch zum Einstieg ganz brauchbar, weil man da erstmal lernt, was wirklich im Chip passiert (ich komme von der Hochsprachenschiene, sprich Pascal, C++, Java)

    IDE : Für PIC gibt´s kostenlos eine größere IDE, die per default aber nur Assembler unterstützt und C nur für bestimmte Familien. Taugt aber und hat auch nen Debugger an Bord, Simulator etc. Die kommerziellen C-Compiler, falls der uC Deiner Wahl das erfordert, kosten aber net die Welt. Der Opensource Compiler gcc is nur für ATMEL verfügbar, normale IDEs gibts da auch, also hier leichte Pluspunkte für atmel. Aber nicht dramatisch.

    Entwicklungshardware : Für beide Welten gibt es Demoboards, beide kann man aber auch minimalst mit nem ICSP direkt programmieren. Wenn´s wirklich in die Grundlagen gehen soll, würd ich das Demoboard lassen und mir das direkt selbst aufbauen, z.B. PIC + Programmer + ein paar Bauteile (LED, Widerstände) und los gehts.

    Für Sequenzer gibt´s auch schöne Nachbauprojekte, ich glaub aber, dass die Quelltexte da nicht frei verfügbar sind, ist alles auf PIC-Basis : www.ucapps.de

    So mehr fällt mir erstmal nich ein, ich drück die Daumen und wünsche Dir die nötige Geduld bei den ersten Schritten.... am Anfang könnt man manchmal :mad: :mad: :mad: und wenn man dann 2 Tage braucht um zu merken, dass da nur ein Widerstand am falschen pin war und deshalb nix ging.... naja.


    Greetz,

    Oli
     
  3. tulle

    tulle bin angekommen

    Hi,
    du hast also schon den STK500. Das ist ein Entwicklungsboard für den AVR. Praktischerweise kann man damit die Dinger auch programmieren.
    Software: Die Atmel-Entwicklungsumgebung + AVR-Gcc. Es gibt zwar kommerzielles Zeugs, nur haben die meistens Einschränkungen. Will man mehr wirds teuer.
    Für Atmel gibts www.microcontroller.net Die haben ein nettes tutorial für AVR und C, ebenfalls kann man sich dort Tipps zur Installation der Software holen. Das schwierige ist nicht das Programmieren sondern das Einrichten des Krams.
     
  4. klangsulfat

    klangsulfat Gut druff

    Arduino ist meiner Meinung nach die derzeit beste Plattform, um einzusteigen. Extrem preiswert, USB-Anbindung, einfache Programmierung, geniale Entwicklungsumgebung (PC und Mac), hohe Popularität/weite Verbreitung, viele Beispiele und Sourcen gerade im Musik- und MIDI-Segment.
     
  5. b166er

    b166er Tach

    Ich hab mich für´s erste auf PIC eingeschossen, aber ich hatte auch den Vorsatz, mich von Grund auf durch alles durchzubeissen und eigentlich seh ich bei keiner der beiden Plattformen den Killervorteil. Application Notes gibt´s für beide massig, das AVR basierte arduino Projekt ist allerdings eine gute Wahl, wenn man schnell zu Ergebnissen kommen will, weil´s da gerade für den kreativen Bereich eine Menge Nachbauprojekte gibt. Aber siehe ucapps.de, sowas ist auch für die PIC-Familie zu kriegen und ich hatte für meine LED-Projekte auf PIC-Basis genau das gefunden, was ich machen wollte.

    Solange man sich auf Assembler einlassen will, ist´s auch egal, Unterschied ist das eher, dass die PICs vergleichsweise wenige Befehle haben, d.h. man hat den Befehlssatz schneller gelernt. Wenn es C wird, dann ist gcc zwar schon ein Argument, aber je nach Familie gibt´s da gleichwertige Lösungen auch direkt vom Hersteller, MPlab IDE gibt´s aber eben nicht für alle Familien, nur für die kleineren PICs, mit denen man aber alles machen kann, was Steuersignale angeht. Für echtes DSP, also Audiobearbeitung, braucht´s dann eine der kostenpflichtigen Lösungen, die aber nicht alle unbezahlbar sind :).

    Die Programmer für PIC kann man auch mit ein paar Cent Bauteilen selbst bauen, aber das geht beim AVR ebenso.

    Kleiner Tip am Rande : Bei pollin gibt´s einige AVR Boards zu günstigen Preisen, auch für ethernet Experimente z.B. schon fertig zusammengebaut für um die 30 Öre.

    Ich glaub man kann wirklich würfeln, Foren und FAQs gibt´s für beide Plattformen die Mass la Meng.

    Empfehlenswert für PIC und auch gut, um sich mal einen Überblick zu verschaffen ist z.B. www.sprut.de/electronic/pic/index.htm, da kannst Du ja mal ein bißchen stöbern und auch in dem o.g. microcontroller Forum, dort eher für AVR.
     
  6. XeroX

    XeroX Tach

    danke erstmal für eure tips.
    ich hab mir heute etwas lesestoff "arduino pysical computing" von manuel odendahl gekauft.
    von dem was es gab, hört sich das am interessantesten an.

    ich hoffe, das hier noch etwas weiter gepostet wird um mir noch ein besseres bild zu machen :nihao:
     
  7. TK

    TK Tach

    Zum Thema uCApps und PIC ein Update: vor ein paar Monaten sind wir auf eine neue STM32 basierende Platform umgestiegen. Preismaessig gibt es zu den 8 bittern keinen grossen Unterschied (ein STM32F103RE kostet ca. US $10), doch die Vorteile eines 32bitters liegen auf der Hand: wesentlich schneller, viel mehr Speicher, Assemblerprogrammierung nicht notwendig, bessere Debugbarkeit, USB integriert (und nicht extern aufgesetzt), etc...

    Applikationen, an denen wir gerade basteln: MIDIbox SEQ V4, vX Sequencer, Live Controller mit mehreren graphischen Touchpanels und Ethernet Anschluss, DMX Konsole, virtueller Synthesizer mit I2S Audio, usw.

    Es stellt sich also die Frage, ob es Sinn macht, mit einem 8bitter anzufangen, wenn sie nicht mehr Stand der Technik sind.
    Vor 10 Jahren (als ich von 8051 auf PIC umgestiegen bin), war das noch etwas anderes. 32bitter waren teuer bzw. nur in hohen Stueckzahlen verfuegbar, Datasheets und Programmierbeispiele nur schwer erhaeltlich, und die Toolchain fuer einen Hobbyisten unbezahlbar. Das hat sich in den letzten Jahren dramatisch geaendert.
    Fuer mich war der Umstieg von PIC auf STM32 wie damals vom C64 auf den Atari ST ;-)

    Bin gerade dabei, die Webseite zu ueberarbeiten - hier beispielsweise eine Vergleichstabelle MIOS8 <-> MIOS32:
    http://www.ucapps.de/mios.html

    Hier ein paar C Programmierbeispiele:
    http://www.ucapps.de/mios32_c.html

    #017 zeigt bspw., wie man einen Sequenzer programmiert, #016, wie man CV ausgibt
    Zur besseren Verstaendlichkeit sollte man die READMEs jedoch von #001 an durchlesen.

    Die vielen TODOs auf der Seite werden noch mit Informationen gefuellt, die bisher nur im Forum zu finden sind...

    Gruss, Thorsten.
     
  8. tulle

    tulle bin angekommen

    Kool. Ist eh der Hammer was du aus den PICs da rausgeholt hast. Ich hab selber 'ne Box gebaut, war echt einfach.
    Bin gezz natürlich auf Neuigkeiten gespannt.
     

Diese Seite empfehlen