Hallo zusammen Ich bin fast am Verzweifeln, denn ich versuche bei einem PIC18F4525 in den FLASH Speicher zu schreiben, lesen und löschen. Leider funktioniert bis jetzt nur die Lesefunktion. Zum Compiler: Hi-Tech PIC18 Programm: MPBLAB Simulation: Proteus DER CODEPROTECTION ist im SFR ausgeschaltet! Ich habe mal ganz banal die Funktion "flasherrase()" gemäss dem Datenblatt nachgemacht und wollte die Signale mit der Simulation beobachten. So sieht die Funktion aus: void flasherrase() { EECON1=0; TBLPTR=0x100; EECON1bits.EEPGD = 1; // Point to Flash memory EECON1bits.CFGS = 0; // Acess Flash/EPROM EECON1bits.WREN = 1; // Enable writes EECON1bits.FREE = 1; // Enable Row Erase operation INTCONbits.GIE = 0; // Disable interrupt EECON2 = 0x55; // Required EECON2 = 0xAA; // Required EECON1bits.WR = 1; // Set WR bit to begin write INTCONbits.GIE = 1; // Enable interrupt } Wenn ich nun die Signale beobachte, fällt mir auf, dass das WR Bit nicht gesetzt wird und der Speicher bleibt unverändert. Sobald ich in den EEPROM Speicher schreiben will (EEPGD=0) wird das Bit korrekt gesetzt und anschliessend automatisch gelöscht. Hat jemand eine Idee, denn auch im Netz bin ich nicht wirklich fündig geworden. ;-(( Herzlichen Dank für Ihre Antworten
Wie kannst du sehen ob da was gesetzt wird oder nicht? Das WR Bit ist intern und von aussen nicht abzulesen.
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.