Lorsque je programme mon PIC via IC-Prog, et met à l'adresse 0x0000, la valeur hexadécimale 41, qui correspond à un "A" pour un afficheur LCD.
Hors, lorsque mon programme arrive à l'affichage de la valeur lue dans l'EEPROM, j'obtient un carré noir, soit la valeur FF au lieu du 41 que j'ai mis.
Ensuite j'ai effectué une lecture du PIC avec IC-Prog, et j'ai bien la valeur 41 à l'adresse 0000 de l'EEPROM ...
D'où peut venir le pb ?
Qu'es-ce que je fais qui ne va pas ?
Pour tester, j'ai mis la valeur 41 sur TOUTES les adresses de la mémoire EEPROM.
Cette fois, j'ai bien le "A" qui s'affiche.
J'en conclue que le problème vient de l'adresse.
Mais je ne comprend pas, car je met la valeur 0x00 dans "ADDR", donc il devrait pourtant bien lire à l'adresse 0x00, ce qui ne semble pas être le cas ...
30/11/2006 - 16h26
Seb.26
Date d'inscription
juin 2005
Âge
36
Messages
1 741
Re : Accès en lecture EEPROM
Desolé, je ne parle pas l'ASM ... à titre indicatif, voici la routine que j'utilise ( en C )
Je sais pas si cela va t'aider, mais je peux pas faire mieux ...
[edit] tu utilise un 16fxxxx ... desolé, j'avais pas fait gaffe ... j'utilise un 18F4550, le bit CFGS n'est donc sans doute pas utilisé pour ton PIC ...
30/11/2006 - 16h32
Seb.26
Date d'inscription
juin 2005
Âge
36
Messages
1 741
Re : Accès en lecture EEPROM
Pourtant, ton code ressemble fortement à celui de la datasheet du PIC :
BSF STATUS, RP1 ;
BCF STATUS, RP0 ;Bank 2
MOVF ADDR, W ;Write address
MOVWF EEADR ;to read from
BSF STATUS, RP0 ;Bank 3
BCF EECON1, EEPGD ;Point to Data memory
BSF EECON1, RD ;Start read operation
BCF STATUS, RP0 ;Bank 2 MOVF EEDATA, W ;W = EEDATA
Une piste en rouge, non ?!
30/11/2006 - 16h38
Toufinet
Date d'inscription
mars 2006
Âge
28
Messages
1 177
Re : Accès en lecture EEPROM
En effet, débutant dans la lecture / écriture EEPROM, j'ai piqué le code de Microchip
Sinon, non, mon code est le même.
MOVF bidule, W est équivalent à MOVF bidule,0
Bref, je viens de faire un big test pour détecter l'adresse qu'il lit, et il s'avère qu'il lit la toute dernière adresse, soit 0xFF, sans AUCUN rapport avec l'adresse que je lui demande de lire ...