PIC18F2420 lässt sich nur 1 x programmieren
Montag, 06. Februar 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  PIC Mikrocontroller Allgemein  |  PIC18F2420 lässt sich nur 1 x programmieren « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: PIC18F2420 lässt sich nur 1 x programmieren  (Gelesen 963 mal)
 
dodo
Newbie
*
Offline Offline

Beiträge: 7


Profil anzeigen
« am: August 08, 2010, 17:51:20 »

Hallo,
ich habe in meine HW auf einen anderen PIC umgebaut (18F2420 statt 252), jetzt habe ich einen Fehler, den ich nach einigen (langen) Stunden leider noch nicht gefunden habe. Den PIC habe ich acuh schon ausgewechselt.
Der 2420 lässt ich 1 x programmieren, dann läuft er auch. Beim 2ten Male gibt es folgende Fehlermeldung:

Programming...
The following memory regions failed to program correctly:
Program Memory
Address: 000004d0 Expected Value: 00000060 Received Value: 00000040
Programming failed

== Da er nicht programmiert ist, kommt bei Versuch zu Starten diese Meldung:

Resetting...
ICD3Err0040: The target device is not ready for debugging.
Please check your configuration bit settings and program
the device before proceeding.

== Meiner Meinung nach gibt es an den Config-Bits nichts zu mäkeln:

__CONFIG(1, HS);
__CONFIG(2, PWRTDIS & BORDIS & WDTDIS);
__CONFIG(3, MCLREN & PBDIGITAL);
__CONFIG(4, STVREN & LVPDIS & XINSTDIS);

== Weiß jemand Rat?

Gruß
Dodo
Gespeichert
Master Snowman
Sr. Member
****
Offline Offline

Beiträge: 289



Profil anzeigen WWW
« Antworten #1 am: August 09, 2010, 10:37:54 »

hallo Dodo

in den optionen vom programmer/debugger gibt's ein feld, das irgendwie heisst wie "errase bevor programming" oder so ähnlich. akitivier das mal.
ansonsten, wenn du debuggen willst, musst du RB6 und BRB7 in den configs auch als debugg-pins deklarieren (leider verstehe ich nicht alle deine conig -> selber überprüfen)

grüsse
Emanuel
Gespeichert
dodo
Newbie
*
Offline Offline

Beiträge: 7


Profil anzeigen
« Antworten #2 am: August 10, 2010, 07:27:03 »

Hallo,
habe den Fehler gefunden: Es war dieser 0µ1 am MCLR-Eingang. Überall wird geschrieben, er darf nicht sein, da er beim Programmieren stört. Da ich jedoch noch nie ein Problem damit hatte (in diversen Designs, mit unterschiedlichen PICs) habe ich ihn immer drin gelassen (für einen sauberen Reset).
Das Fehlerbild (der PIC wurde 1 x programmiert) hatte mich nicht wirklich darauf gebracht.

=> Wird dieses C für einen Reset benötigt oder kann man ihn getrost entfallen lassen?
Gruß
Dodo
Gespeichert
Master Snowman
Sr. Member
****
Offline Offline

Beiträge: 289



Profil anzeigen WWW
« Antworten #3 am: August 10, 2010, 08:26:21 »

ich weiss nicht genau, was du mit 100nF meinst. normalerweise werden 100nF für die speisung gebraucht (blockkondensatoren) aber an den MCLR-pin gehört sicher keiner! stell dir mal vor, du hättest einen am MCLR-eingang und zum programmieren wird die spannung auf 12V angehoben, aber wegen des kondensators beträgt die spannung erst 8V wenn der ICD/PICKit schon versucht zu kommunizieren...
Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 85


Profil anzeigen
« Antworten #4 am: August 10, 2010, 15:00:33 »

Zumald die PICs einen Startup-Timer haben, da braucht man den MCRL normalerweise nicht als Reset-Pin, wenn der Timer in den Configs gesetzt ist.
Gespeichert
dodo
Newbie
*
Offline Offline

Beiträge: 7


Profil anzeigen
« Antworten #5 am: August 10, 2010, 17:08:05 »

Alles klar,
vielen Dank.

Gruß
Dodo
Gespeichert
Bernd
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 3809



Profil anzeigen
« Antworten #6 am: August 10, 2010, 22:17:53 »

Wie Stephan bereits erwähnt hat, ist für einen „sauberen“ Reset ein Kondensator am MCLR-Pin überhaupt nicht entscheidend. Neben dem Power-Up-Timer ist meiner Meinung der Brown-Out-Reset noch wichtiger und eigentlich unverzichtbar.

Zum einen verhindert er, daß der PIC bei Unterschreitung seiner minimal zulässigen Versorgungsspannung irgendwelchen Code ungewollt ausführt (sobald Funktionen vorhanden sind, welche den Flash-Speicher löschen, kann das katastrophal enden), zum anderen ist man damit auch nicht mehr an die im Datenblatt minimal geforderte Anstiegsgeschwindigkeit der Versorgungsspannung gebunden, da der BOR den PIC solange zuverlässig im Reset hält, bis die nötige Versorgungsspannung ansteht (geeignete Einstellung der BOR-Schwelle in den Configuration Bits vorausgesetzt).

Wenn kein Taster am MCLR-Eingang für einen manuellen Reset vorhanden ist, spricht eigentlich nichts dafür, den MCLR-Eingang als solchen zu nutzen und zu konfigurieren (außer das Programmiergerät unterstützt nicht die „VPP first“ Programmiermethode und der interne Oszillator wird verwendet).

Viele Grüße

Bernd
Gespeichert

Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.047 Sekunden mit 19 Zugriffen.
 
Top! Top!