PIC18 in C programmieren


© Mai 2023, letzte Änderung am 29.05.23

--- still under construction ---

Übersicht

Entwicklungssystem für PIC18

Bei der hier vorliegenden Anwendungen, Schrittmotor-Ansteuerung via USB,
habe ich mich für einen 8 Bit-PIC Prozessor entschieden,
da ich den bereits seit längeren bei mir liegen habe und
ich eine bestehende Lösung USB4all von   sprut.de  weiter verwenden möchte.

Die CPUs PIC18F2455 und PIC18F2550 haben beide 28 Pins und laufen mit 48 MHz.
Der einzige Unterschied ist der unterschiedlich große Flash-Speicher 24K vs. 32K.

Die meisten Befehle sind innerhalb eines 'cycle' = 4 Oszillator Zyklen abgearbeitet.
Hier sind es 12 MHz bzw. ca. 83 ns. Folgende Funktionen stehen grob zur Verfügung.

Pinbelegung inc. PICkit Programmieradapter

Vpp/RE3
Vdd 5V
Name Pin     Pin Name Gnd
RE3 1 28 RB7 PGD
RA0 2 27 RB6 PGC
RA1 3 26 RB5 NC
RA2 4 25 RB4
RA3 5 24 RB3
RA4 6 23 RB2
RA5 7 22 RB1
Vss Gnd 8 21 RB0
OSC1 9 20 Vdd
RA6 10 19 Vss Gnd
RC0 11 18 RC7
RC1 12 17 RC6
RC2 13 16 RC5 D+
VUSB 3V3 14 15 RC4 D-

Um einen PIC-Prozessor von Microchip programmieren zu können,
benötigt man ein IDE - integrated development environment
oder Entwicklungs-Umgebung incl. einem Programmer z.B. PICkit 3.
Auf der  Microchip.com  Seite unter dem
Abschnitt  "Tools and Resources / Develop"  stehen dann folgende Tools.

Zum Anfang

Details der Installation vom IDE & IPE

Entsprechend der Anleitung unter microchipdeveloper.com/MPLAB dependencies
vorzugehen, habe ich getrost ignoriert.
Es reicht mitlerweile die Entwicklungsumgebung unter
runter zu laden, zu entpacken und zu installieren.
Z.B. wie folgt:

cd Downloads/
ls
MPLABX-v6.05-linux-installer.tar
xc8-v2.40-full-install-linux-x64-installer.run

tar -xvf MPLABX-v6.05-linux-installer.tar
MPLABX-v6.05-linux-installer.sh

sudo sh MPLABX-v6.05-linux-installer.sh 
...

Weiter geht es über ein grafisches Setup.

_

Forward

_

Die Lizenz muß man akzeptieren.

_

Die Installations Optionen habe ich so belassen.

_

Als Applikation benötige ich nur die 8 bit CPU's
Sollte ich mehr benötigen, kann ich das immer noch installieren.

_

Man soll es ein weiteres Mal bestätigen.

_

Nach knapp einer Minute ist die Installation fertig.

_

Da ich nicht neu gestartet habe, ist nicht überall ein Haken.

_

Natürlich findet er beim ersten Start noch keinen Compiler.

Zum Anfang

Installation des Compilers

Nach einem Neustart versuche ich nun den Compiler zu installieren.

cd Downloads/
ls
MPLABX-v6.05-linux-installer.tar
xc8-v2.40-full-install-linux-x64-installer.run

chmod 755 xc8-v2.40-full-install-linux-x64-installer.run


sudo ./xc8-v2.40-full-install-linux-x64-installer.run 
...

_

Weiter geht es grafisch durchs Setup via Next

_

Auch hier ist wieder eine Lizenz zu bestätigen.

_

Privat möchte ich da kein Geld ausgeben.

_

Den Pfad belasse ich so.

_

Verändere noch ein wenig das Setup

_

Ich soll es ein weiteres Mal bestätigen.

_

nach ca. 30 Sekunden hakte es bei mir für ne Minute.

_

Next

_

Und nach finish ist alles erledigt.
Wenn ich nun die IDE starte, gibt es keine Warnungen bzgl. fehlenden Compilers

Zum Anfang

Projekt usb4all runter laden

Ziel ist eine bestehende Entwicklung weitgehend weiter zu verwenden und etwas zu ergänzen.
Dafür lade ich mir erst einmal von der  sprut.de-Seite die USB-Treiber Firmware runter.

choose system drive

Zum Anfang

Überschrift 1

choose system drive

Zum Anfang

Quellen

mikrocontroller.net   PIC C-Compilervergleich für PIC12/16/18/24/sdPIC/32
ccsinfo.com.   C Compiler Solution Suite (verkaufen C Compiler)
codeproject.com   Microchip PIC 16F1455 HID-USB Stack
wordpress.codewrite.co.uk   PIC Tutorials - USB interface using PIC16F1455 via serial class
simple-circuit.com   PIC18F4550 Microcontroller with SSD1306 OLED
  and BME280 sensor (written in C)
sprut.de   div. über PIC controller
pinguino.cc   Pinguino Project - is an Open Source IDE for PIC18F & PIC32MX
sprut.de   IR-Fernbedienung - der RC-5 Code
opendcc.de   RC5 IR-Codes

Zum Anfang