Bonjour,
J'ai une mémoire SPI Microchip 25AA512 ( http://www.microchip.com/wwwproducts...cName=en530926)
Celle-ci est déjà programmée et je cherche juste a lire les données, cependant j'ai un problème de lecture... Mon microcontrôleur est un PIC 18F23K20. ( http://www.microchip.com/wwwproducts...cName=en530013)
Mon problème est le suivant, j'envoie la commande ainsi que l'adresse à lire dans la mémoire mais je ne lis jamais(ou très rarement) la valeur correcte en sortie de la mémoire. (Ci joint voici les captures de l'oscillo.. désolé de la piètre qualité des images.) Ma sortie de la mémoire est continuellement a "1".
Voici mon code :
Mes ports sont correctement configurer car les autres éléments sur bus SPI fonctionnent correctement..._CS_MEM = _ON;
for(i=0;i<10;i++);
SSPBUF = 0b00000011; // Read instruction
while(!PIR1bits.SSPIF);
for(i=0;i<2;i++);
PIR1bits.SSPIF = 0;
// SSPBUF = Cur_flash_addr>>8; // Upper adress byte
SSPBUF = 0x00;
while(!PIR1bits.SSPIF);
for(i=0;i<2;i++);
PIR1bits.SSPIF = 0;
// SSPBUF = Cur_flash_addr; // Lower adress byte
SSPBUF = 0x04;
while(!PIR1bits.SSPIF);
for(i=0;i<2;i++);
PIR1bits.SSPIF = 0;
SSPBUF = 0x00; // Dummy data
while(!PIR1bits.SSPIF); // Read data
for(i=0;i<2;i++);
OUT_TEST = !OUT_TEST;
PIR1bits.SSPIF = 0;
i = SSPBUF;
for(i=0;i<10;i++);
_CS_MEM = _OFF;
for(i=0;i<100;i++);
Es que quelqu'un à une idée?
Merci d'avance
-----