Hallo allerseits, Ich brauche ein wenig Nachhilfe in Sachen EEPROMs (PIC16F628, MPLAB ASM). Mit folgendem Quelltext werden Speicherzellen bereits beim Brennen beschrieben: org H'2100' de 01h de 23h de 45h de 67h Bei Adresse 2100 sieht dann die Speicherbelegung wie folgt aus: D0 D1 D2 D3 D4 D5 D6 D7 2100: FF01 FF23 FF45 FF67 FFFF FFFF FFFF FFFF So nachzusehen im EPROMer (GALEP-III). Beim einzelnen Speichern und Lesen der Speicherzellen bekomme ich jeweils 0 1 2 3 4 5 6 7 zurück. Insofern funktioniert das. Nur: Ist es nicht eine Verschwendung an Speicher? Wie werden die Speicherstellen, die 'FF' zum Inhalt haben, gelesen und beschrieben (direkt beim Brennen, wie auch im Betrieb)? Umdrehen der 'Nibble', bzw. Bytes im höheren Bereich - oder hab' ich da einen Denkfehler? Thomas
Mit de sollte byteweise Speicherplatz deklariert werden. Warum Dein Programmer FF01, FF02 etc ausliest, weiss ich nicht, ich arbeite hauptsächlich mit dem ICD2 oder mit dem PICkit 1, und hier funktioniert es korrekt, also byteweise. Du schreibst: Beim einzelnen Speichern und Lesen der Speicherzellen bekomme ich jeweils 0 1 2 3 4 5 6 7 zurück. Womit liest Du die Speicherzellen? In der PIC-Anwendung? Severino
Richtig. Testweise z.B. so: BSF STATUS, RP0 MOVLW 0x30 MOVWF EEADR MOVLW 9 MOVWF EEDATA , gefolgt von der reichlich umständlichen aber wohl allgemein bekannten Prozedur, die ich hier spare. erzeugt dann: D0 D1 D2 D3 D4 D5 D6 D7 2130: FF09 FFFF FFFF FFFF FFFF FFFF FFFF FFFF Thomas
Das dient nur der Übersichtlichkeit. So sieht dann der komplette Ausschnitt von 2100 - 2137 aus: D0 D1 D2 D3 D4 D5 D6 D7 2100: FF01 FF23 FF45 FF67 FFFF FFFF FFFF FFFF 2108: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 2110: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 2118: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 2120: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 2128: FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 2130: FF09 FFFF FFFF FFFF FFFF FFFF FFFF FFFF Merkwürdig ist eben, dass im Programmteil des PIC sehr wohl alle Speicherzellen beschieben werden. Thomas
Das sieht doch fast so aus, als ob nur die Darstellung am 14 Bit breiten Programmflash orientiert wäre. Das EEPROM ist definitiv nur 8 Bit breit.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.