Forum: Compiler & IDEs PIC 18F25k22 mit mikroC Pro


von Juergen L. (jueloe)


Angehängte Dateien:

Lesenswert?

Hallo zusammen.
versuche vergebens das angehängte Blink Programm zum Laufen zu bringen.
Als Entwicklungsumgebung nutze ich MikroC  Pro for PIC.
Das Programm lässt sich compilieren und auch auf den Pic brennen. Nur 
die LED blinkt nicht.
Habe verschiedene Einstellungen am Setting probiert, leider ohne Erfolg.
Das gleiche Programm mit XC8 und MplabX auf den Pic geladen 
funktioniert.
Hat vielleicht noch jemand einen Tipp?

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Ist der interne Takt ausgewählt ?
Oder benutzt du einen Quarz ?
Sonst schau mal hier rein:
https://www.pic-microcontroller.de/video-tutorial/mikrobasic-erstes-programm/

von Juergen L. (jueloe)


Lesenswert?

Hallo Peter,
ja, den internen Oszillator habe ich ausgewählt.
OSCCON auf Dec 80 gestellt (wie im Video), leider keinen Erfolg.
Die LED an LATB1 leuchtet während der Programmierung kurz auf, danach 
alles dunkel.
Ich vermute den Fehler in einem nicht korrekt gesetzten Register, zumal 
das gleiche Programmbeispiel mit MPLABX (Syntax angepasst, gleiche 
Platine) funktioniert. Ebenso funktioniert es mit dem PIC16f18855 und 
MikroC.
Bin über jeden Hinweis dankbar-

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Angehängte Dateien:

Lesenswert?

Probiere mal das HEX File aus was ich
hochgeladen habe.
Funktioniert dieses ?

von Peter D. (fenstergucker)


Lesenswert?

Juergen L. schrieb:
> Die LED an LATB1 leuchtet während der Programmierung kurz auf, danach
> alles dunkel.

Welchen Programmer verwendest du?
Deine Beschreibung passt zu dem mikroProg, wenn du die Option "Power 
target MCU from Programmer" in der mikroProg Suite nicht angeklickt 
hast.

Dein Code und das HEX von Peter K. laufen hier auf einen 45K22.

Peter

: Bearbeitet durch User
von Juergen L. (jueloe)


Lesenswert?

#Peter K.
vielen Dank. Werde das HEX-File heute Nachmittag testen und das Ergebnis 
hier reinstellen.

#Peter D.
Als Programmer verwende ich PICkit3 mit MPLAB IPE. Die Checkbox für die 
Spannungsversorgung über das Pickit3 ist aktiv.
Was ich nicht verstehe, dass das gleiche Programm mit MikroC compiliert 
und auf den PIC 12F683 gebrannt, fehlerfrei funktioniert.
Ich vermute eher den Fehler in einem nicht gesetzten Register, ähnlich 
der Analogfalle, wenn alle PORT's standardmäßig auf ANALOG gesetzt sind 
und mit ANSELB auf digital gestellt werden müssen.

von Peter D. (fenstergucker)


Angehängte Dateien:

Lesenswert?

Hallo Juergen,

hier ist mein mikroC PRO v7.6.0 Projekt für den 45K22. Ich hatte es 
vorher mit ext. Quarz getestet, jetzt mit internen Oszillator. Hatte 
überlesen das du den internen Takt verwendest. Dabei ist mir aufgefallen 
das ohne OSCTUNE und OSCCON-Anweisungen der PIC nur sehr langsam taktet, 
und das Blinken erst sehr spät startet. Mit den Anweisungen taktet er 
mit 64 MHz und es funktioniert.

Peter

von Juergen L. (jueloe)


Lesenswert?

Hallo Peter,
HEX-File gebrannt, ohne Erfolg!
PIC gelöscht, gebrannt. Verify war ebenfalls ok. Leider weiß ich nicht,
ob du den internenn Takt eingestellt hast. Meine Testplatine ist die
STARTPIC18 von Nicolas Meyertöns und diese besitzt keinen Quarz nur 
internen Takt.

Gruß Jürgen

von Peter D. (fenstergucker)


Lesenswert?

Juergen L. schrieb:
> Leider weiß ich nicht,
> ob du den internenn Takt eingestellt hast.

Ja, der interne Takt ist eingestellt mit 4 x PLL für 64 MHz.
Ich habe mit einem PIC-Ready1 Board von mikroE getestet. Da kann ich den 
ext. Quarz einfach entfernen.

Peter

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Hallo
Ja ist für den internen Takt eingestellt.
Dann stimmt beim Aufbau bei dir was nicht.
Oder das PicKit macht da Probleme.

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Gib mal einen Link für dein Board.
Hast du kein Steckbrett wo du es Testen kannst ?
Einfach Controller drauf und programmieren.

von Juergen L. (jueloe)


Lesenswert?

Hallo Peter D. und Peter K.

habe das Projekt von dir geladen und auf den PIC 18F25K22 umgestellt.
Leider kein Erfolg.
Langsam falle ich vom Glauben ab, da die selbe Platine mit dem selben 
PIC und MPLABX funktioniert.
Kann es sein, dass ich bei der Installation von MikroC etwas falsch 
gemacht habe?
Trotzdem erstmal vielen Dank für eure Mühe.
Gruß Jürgen

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Eigentlich nicht. Habe es ja auch mit
MikroC geschrieben und compiliert.
Klar du kannst es mal neu installieren.

von Peter D. (fenstergucker)


Lesenswert?

Hallo Jürgen,

kann es sein das die Zeilenumbrüche in der HEX-Datei für MPLAB IPE nicht 
stimmen. Ich glaube es gibt damit Probleme unter Linux, ob es unter 
Windows auch so ist weiß ich nicht.

Peter

von Juergen L. (jueloe)


Lesenswert?

Hallo Peter,

ja, mit Linux und MPLAB IPE gibt es Probleme. Hatte da vor ein paar 
Wochen einen Beitrag reingesetzt, da ich die MPLAB IPE unter Linux 
laufen hatte. Und da wollte es ums Verr..en nicht funktionieren. Mit 
Windows 10 lief dann alles super.
Ich werde nochmals alles neu Installieren, in der Hoffnung, dass es dann 
funktioniert
Habe es gerade nochmals mit MPLABX kompiliert und gebrannt, ohne große 
extra Einstellungen und es läuft.
Langsam glaube ich, dass mikroC mit dem PIC18F25k22 ein Problem hat.
Leider habe ich auch noch kein Beispiel im I-Net mit dem PIC18F25k22 in 
Verbindung mit microC gefunden. Alles nur für den PIC18F45K22. Inwieweit 
die kompatibel sind, kann ich nicht sagen. Das Datenblatt erschlägt 
einen ja förmlich mit den Konfigurationsmöglichkeiten.

Gruß Jürgen

von Peter D. (fenstergucker)


Lesenswert?

Bei mikroE findest du Code, allerdings Beispiele mit ext. Quarz:
https://www.mikroe.com/ready-pic-dip28
Im Forum wird es sicher auch einiges geben. Der Unterschied zum 45K22 
ist glaube ich nur die zusätzlichen Ports D, E.

Ansonst hänge deine kompilierte HEX-Datei an für einen Vergleich.

Peter

von Juergen L. (jueloe)


Angehängte Dateien:

Lesenswert?

habe dir mal das gesamte Projekt ran gehangen.
Vielleicht findest du doch noch einen Hänger.

Gruß Jürgen

von Peter D. (fenstergucker)


Lesenswert?

Juergen L. schrieb:
> habe dir mal das gesamte Projekt ran gehangen.

Ich deine HEX-Datei, und eine neue kompilierte Version, als 25K22 auf 
den 45K22 gespielt, und es funktionieren beide. Allerdings blinkt die 
LED langsamer als sie sollte. Die OSC...-Anweisungen sind also sicher 
notwendig für den richtigen Takt. Ich habe noch nie mit dem 45K22 und 
internen Takt gearbeitet, der PIC war bei mir bei einem 
Entwicklungsboard dabei.

Ich habe mikroC PRO v7.6.0 und den mikroProg unter Windows 7 verwendet.

Peter

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Du musst schon das OSCCON Register
im Programm setzen.
Aber wieso mein HEX File bei dir nicht läuft verstehe
ich auch nicht. Schick mir mal ein HEX File was du Compiliert
hast.

von Juergen L. (jueloe)


Angehängte Dateien:

Lesenswert?

Peter K. schrieb:
> Du musst schon das OSCCON Register
> im Programm setzen.
> Aber wieso mein HEX File bei dir nicht läuft verstehe
> ich auch nicht. Schick mir mal ein HEX File was du Compiliert
> hast.

Ich habe dir mal das C und das HEX-File rangehangen.
Das OSCCON Register hat leider auch nichts gebracht. Daher wieder 
deaktiviert.
Das Hex-File ist ohne OSCCON  compiliert.
Habe gerade im Datenblatt mal nachgeschaut. Da ist das OSCCON 
standardmäßig auf 1 MHZ gestellt. Müsste also auch ohne Initialisierung 
laufen (bin mir da aber nicht ganz sicher).
Mich würden das ganze Thema nicht so reizen, wenn nicht die vielen 
hauseigenen Libraries bei MikroC dabei wären, die bei MPLABX fehlen.
Schönen Sonntag
Gruß Jürgen

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Das HEX File läuft bei mir sauber durch.
Da scheint irgendwas nicht mit dem PicKit
zu stimmen. Vielleicht mal beim PicKit eine
neue Firmware aufspielen oder noch mal die
selbe aufspielen. Sonst weis ich im Moment auch
nicht woran es liegen soll.

von Juergen L. (jueloe)


Lesenswert?

Peter K. schrieb:
> Das HEX File läuft bei mir sauber durch.
> Da scheint irgendwas nicht mit dem PicKit
> zu stimmen. Vielleicht mal beim PicKit eine
> neue Firmware aufspielen oder noch mal die
> selbe aufspielen. Sonst weis ich im Moment auch
> nicht woran es liegen soll.

Hallo Peter,
Problem gelöst! Du hast Recht, es lag am PICKIT3 in Verbindung mit MPLAB 
IPE.
Bin durch Zufall darauf gekommen. Hatte mein Testboard an einer externen 
Stromversorgung angeschlossen. Lief aber trotzdem nicht. Erst als ich 
das PICKIT3 abgezogen hatte, fing die Platine an zu blinken!

Also nochmals vielen Dank für deine/eure Hilfe.
Hab auch einiges dazu gelernt.

Gruß Jürgen

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Lesenswert?

Das hört sich doch gut an.
Dann viel Erfolg.

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
Noch kein Account? Hier anmelden.