Vai al contenuto
PLC Forum


Eeprom Pic16f876 - EEPROM PIC16F876


Messaggi consigliati

Inserito:

Ho un problema con i dati contenuti nell'EEPROM di un PIC 16F876 ossia : saltuariamente mi si sporcano con valori random.

Premetto che uso il compilatore PCM della CCS

Qualcuno mi sa dare qualche consiglio ?

Grazie a tutti

Ciao :)


Inserita:

Io sempre uso l'assembler , ma per la scrittura della eeprom bisogna fare una pocedura di ******** (l'azienda ha richiesto la rimozione di questo marchio su PLC Forum)pio per non avere false scritture.

Nel tuo programma , hai una routine di scrittura della eeprom?

Se tu a volte scrivi nella eeprom , puo' essere lo stesso programma che scrive dati random.

Un consiglio per vedere se e' una cosa esterna al programma e' di disabilitare la tua routine di scrittura , creare un immagine dei dati della eeprom e scrivere i valori durante la programmazione del pic .

Infine fai girare il prg solo usando la funzione di lettura della eeprom.

Spero di essere stato chiaro.

Saluti

Inserita:

Per la Scrittura / Lettura uso le funzioni specifiche , che pero' non mi danno la risposta se la scrittura e' andata a buon fine oppure no , sto meditando di farmi una funzione in Assembler per controllare i bit di stato sulla buona riuscita dell'operazione.

Una domanda ho da farti : non e' che il PIC possa prendere dei disturbi esterni (ho dei PIN inutilizzati lasciati fluttuanti) , poi ho visto che il PIC ha di suo delle protezioni per l'EEPROM , e richiede l'abilitazione del POWER UP TIMER + un altro parametro , ne sai qualche cosa ?

Ciao e Grazie

Inserita:

La eeprom interna puo essere solo scritta solo quando il pic ha finito il por .

In piu' per poter scrivere un dato, si devono caricare nel registro EECON2 il valore 55 e di seguito il valora AA ( in esadecimale) per poter finalmente scrivere il dato che vuoi depositandolo nel registro EEDATA.

Per sapere se la scrittura e' andata a buon fine puoi leggere il WRERR(bit 3) del registro EECON1 , se =0 allora OK se =1 allora ERRORE .

Un altra trappola e' gestire l'interrupt di fine scittura eeprom , il pic a fine scrittura alza il flag per un interrupt .

Se non era previsto , puoi dare l'allarme.....

Se hai dubbi chiedi pure

Saluti

Inserita:

comunque, le uscite inutilizzate portale ad un punto stabile, a massa o +V con una resistenza

Inserita:

Io programmo solo in assembler.

Sarebbe bene adottare alcuni accorgimenti per la gestione della eeprom: abilitare la scrittura appena prima di utilizzarla e disabilitarla dopo (bit WREN di EECON1), disabilitare l'interrupt prima di utilizzare la eeprom e riabilitarlo eventualmente dopo (bit GIE di INTCON).

La scrittura funziona bene?

Per i pin non usati non ho mai avuto problemi, neanche in ambienti rumorosi. Basta non interrogarli mai....

Ciao!

Inserita:
Per i pin non usati non ho mai avuto problemi, neanche in ambienti rumorosi. Basta non interrogarli mai....
Inserita:

E' raro che possano succedere inconvenienti, ma conviene configurare i pin non usati come ingressi, se vanno in corto non danneggiano l'integrato.

Ciao!

Inserita:
i pin liberi li configuro come uscite e li forzo a 0 ...
Inserita:

Grazie a tutti , appena ho un poco di tempo provo e vi faccio sapere.

Ciao :)

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...