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?
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-
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
#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.
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
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
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
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
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
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
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
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
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.
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
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.
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