sfinge Inserito: 21 maggio 2012 Segnala Share Inserito: 21 maggio 2012 Salve a tutti, vorrei salvare dati su più celle di memoria EEPROM (16byte)e leggerli all'avvio ma non capisco dove sta l'errore.Su un singolo byte è funzionante. Grazie anticipatamente per l'eventuale aiuto.E'forse un'area di memoria non corretta? Uso il compilatore della CCS void WriteEEprom (void) { WrReq=Off; for(ind=0;jobdata[ind<16]{ //test bit fine scrittura if(!WR){ //assegna al puntatore l'indirizzo della variabile da scrivere ptr=&jobdata[ind]; //assegna agli sfr indirizzo e valore della variabile da scrivere EEADR=ptr; EEDATA=jobdata[ind]; //avvio procedura per scrittura su EEprom EEPGD=Off; WREN=On; GIE=Off; EECON2=0x55; EECON2=0xAA; WR=On; GIE=On; WREN=Off; DelayMs(10); ind++; //<<<<<<< ho provato anche così jobdata[ind++] } } ActivePage = 32; //visualizza pagina fine scrittura } //ReadEEprom---------------------------------------- void ReadEEprom (void) { for(ind=0;jobdata[ind<16]{ //test bit fine lettura if(!RD){ //assegna al puntatore l'indirizzo della variabile da leggere ptr=&jobdata[ind]; //assegna allo sfr l'indirizzo della variabile da leggere EEADR=ptr; //avvio procedura per lettura su EEprom EEPGD=Off; RD=On; //legge il contenuto jobdata[ind]=EEDATA; DelayMs(10); ind++; //<<<<<<<<< ho provato anche così jobdata[ind++] } } } Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 21 maggio 2012 Segnala Share Inserita: 21 maggio 2012 (modificato) Uso anch'io CCS e non ho mai avuto problemi di sorta con questo tipo di lettura - scrittura. A quest'ora non sono ancora completamente in pieno possesso delle mie facoltà mentali, quindi non son sicuro di quello che leggo. Vedo di recuperare le funzioni che uso di solito, testate e funzionanti, poi le pubblico così puoi confrontare se e dove ci sono differenze. Modificato: 21 maggio 2012 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora