Newsgroup: it.hobby.elettronica.digitale
Titolo: eeprom 16F628

Salve!
Come avrete modo di capire sto giocando con un PIC16F628A :-) sto usando le 
prime due locazioni della eeprom interna e sembra funzionar etutto alla 
perfezione, noto che dopo numerose prove distaccando e alimentando il 
circuito andando a leggere il contenuto del programma trovo valori diverso 
da 0 anche nelle locazione 3 e 4 sono andato a rivedere l'intero programma 
per vedere se avessi inserito da qulache parte la scrittura di quelle 
locazioni, ma non trovo nulla oltre alla scrittura della locazione 0 e 1, mi 
domando potrebbe essere che stressando il circuito con l'alimentazione 
possano essere scritte casualmente delle locazioni di eeprom? 

 possano essere scritte casualmente delle locazioni di eeprom? 
Direi proprio di no!
A me non è mai capitata la scrittura accidentale di valori e direi che è 
piuttosto improbabile!
Naturalmente aiuterebbe se postassi la parte di codice che esegue la 
scrittura sulla E2.
Ciao!
Stefano
-- 
Stefano Martini
Varese (VA) -- Italy
Web: 
http://www.lemming.it
Audaces fortuna iuvat (Virgilio, Eneide)

Stefano
Certo che posto la parte che va a scrivere nella eeprom interna:
write 0,tempo1          'scrivo nella locazione 0 della eeprom il valore di 
tempo1
pause 10                'piccolo ritardo per la scrittura
goto riproduci1         'vado a risentire il messaggio appena registrato
come vedi non ci sono grosse cose da fare, la cosa strana e' che nel mio 
programma solo in due occasioni vado a scrivere nella eeprom nella locazione 
00 e 01, ho provato a fare un cerca write per vedere se avessi lasciato 
qualcosa durante le prove ma non ho trovato nulla, comunque sempre nelle 
stranezze trovo scritte le locazione immediatamente dopo cioe' la 02 e 03 
mentre i valori della 00 e 01 sono corretti, questo l'ho scoperto per caso 
andando a leggere il firmware del micro.

Enzo ha scritto:

Ciao!
Mi servirebbe però la routine "write" e la "pause". Forse ho capito 
qual'è il problema!


Stefano
Le routine non sono disponibili cioe' e' il compilatore (Melabs PicBasic 
Pro) che mette a disposizione quei comandi, comunque credo che il problema 
sia da qualche altra parte, sto usando per programare il PIC il 
programmatore economico della Microchip PicKit2, secondo me le possibilita' 
sono due cioe' la prima e' il programmatore che fa qualcosa perche' inuna 
delle ultime prove ho letto il contenuto del pic notando le locazioni 
scritte subito dopo ho ridato il comando di lettura ed il valore e' 
cambiato, l'altra possibilita' potrebbe essere legata la fatto che ho 
revisto di programmare il Pic senza toglierlo dal circuito ed ho previsto 
dei ponticelli (jumper) che se tolti liberano i piedini di programmazione 
dai circuiti in/out collegati, io per velocita' sto facendo la 
programmazione senza toglierli.
Ma tu a cosa stavi pensando cosa potrebbe essere oltre  a questo?

Ciao!
Allora dalle ultime prove e' emerso che la scrittura della eeprom viene 
fatta dal PICkit2, sembra che non appena venga agganciato al connettore per 
la programmazione in-circuit faccia un check in quest acondizione va a 
scrivere qualcosa nella eeprom, infatti ho fatto una prova, con il circuito 
programmato senza dargli mai alimentazione ho letto una prima volta il 
contenuto del PIC 16f628 ed ho avuto tutti FF nella parte relativa 
all'eeprom, dopo ho dato Check communication dal menu' Tools del 
programmatore ed infine sono andato a leggere nuovamente il PIC dopo tale 
procedura viene smepre scritto qualcosa nella eeprom, quindi credo sia un 
bug da addebbitare al programmatore di Microchip 

Enzo ha scritto:

Ciao!
Premetto che non conosco il basic, in quanto ho sempre usato ASM per la 
programmazione. Comunque mi sembra di capire che il tuo sia un problema 
di temporizzazioni, non credo che un BUG così importante possa essere 
sfuggito ai tecnici Microchip!
Prova a rallentare ulteriormente il ritardo dalla scrittura  alla 
lettura, e vedi se ti fa lo stesso "scherzo".
Ciao
P.S. Scusa il ritardo!
