Ich habe versucht, mein EEPROM zum Lesen / Schreiben auf meinem PIC zum Laufen zu bringen.
Ich habe zuerst einen Schreibzyklus programmiert und dann umprogrammiert, um ihn auszulesen. (Um nicht jedes Mal zu schreiben, wenn ich das Programm/Bild starte)
Aber ich habe glücklicherweise herausgefunden, dass die Neuprogrammierung Ihres PIC dazu führt, dass das EEPROM ... geändert wird? Ich habe einen Weg gefunden, dies zu beheben, indem ich die Einstellung "EEPROM beibehalten" verwende.
Meine Fragen dazu sind:
(val != 0xFF)
kehrt zurück true
Kann ich sagen, dass es nach der Programmierung beschädigt ist, oder erhält es einen Standardwert, den ich überprüfen könnte?Verwendung: (obwohl es eher theoretisch ist)
„EEPROM beibehalten“ weist darauf hin, dass der EEPROM-Inhalt nicht geändert wird, wenn der Chip neu programmiert wird. Ich bin mir nicht sicher, ob dies bedeutet, dass der Speicher während des Vorgangs überhaupt nicht berührt wird. Ich könnte Pickit dazu bringen, das Daten-EEPROM zu lesen, den gesamten Chip zu löschen, den Chip zu programmieren und dann das Daten-EEPROM mit den alten Werten zu schreiben.
Wenn Sie den Programmer-to-Go-Modus von Pickit verwenden, funktioniert die Beibehaltung des EEPROM möglicherweise nicht so.
Wenn Sie die CPD-Sicherung (Data EEPROM code-protected) gesetzt haben, kann Pickit das EEPROM nicht lesen. Sie können dies mit dem Befehl „Erase Configuration Bits“ umgehen.
Auch eine Diskussion bei Microchip schlug vor, dass die Option „Vor dem Programmieren alles löschen“ die Einstellung „EEPROM beibehalten“ überschreibt.
Martin
Paul
brhans
Paul
Flash (0x00 to 0xFF) EEPROM
. Aber ich bin nicht in der Lage, dies zu replizieren. Hat die Verwendung von EEPROM erhalten keine Nachteile? Was ist mit dem Wert des EEPROM nach dem Programmieren (ohne Erhaltung), ist es 0xFF oderundefined
?Paul
The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0x347f configuration memory EEData memory
Programmierausgabe beim Programmieren des Chips... ...für mich sieht es so aus, als würde das EEPROM "umgeschrieben". Wie es heißtarea(s) will be programmed
~EEData memory