Bonjour à tous,

j'ai un projet à réaliser et je dois utiliser une mémoire flash. C'est la M25PE80. Je n'arrive pas à lire les octets sortants de la mémoire. J'ai fait le test d'identification. Je lui ai envoyé l'octet 0x9F et ce dernier devrait me renvoyer l'octet 0x20. Tout ce que je reçoit c'est un octet vide.
Quelqu'un aurait une idée de ce qui pourrait être la cause de mon problème.
Voici ma routine de test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

void F_tst_flash (void)
{
	unsigned char UCH_i;
	unsigned char UCH_j;
	UCH_j=0x9F;
	FLA_CS = 0;

	for(UCH_i=0;UCH_i<8;UCH_i++) /****envoi de l'octet 0x9f dans la flash pour identification de la flash*******/
	{
		if ((UCH_j&0x80) == 0x00 )
			{
				FLA_DIN = 0; 
				FLA_SCK = 1;
				FLA_SCK = 0;
			}	
		else {
				FLA_DIN = 1;
				FLA_SCK = 1;
				FLA_SCK = 0;
			}
	UCH_j = UCH_j << 1;
	
	}

	Rbyte.bits.b7 = 1; /*** on donne un valeur quelconque ***/
	
	Rbyte.bits.b6 = 0;

	Rbyte.bits.b5 = 1;

	Rbyte.bits.b4 = 0;

	Rbyte.bits.b3 = 1;

	Rbyte.bits.b2 = 0;

	Rbyte.bits.b1 = 1;

	Rbyte.bits.b0 = 0;
	Nop();

	Nop();

	Rbyte.bits.b7 = PORTBbits.RB2; /** réception de l'octet : le premier octet reçu devrait être 0x20 mais il est de 0x00 *****/
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b6 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b5 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b4 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b3 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b2 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b1 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;
	Nop();
	Rbyte.bits.b0 = PORTBbits.RB2;
	PORTBbits.RB3 = 1;
	PORTBbits.RB3 = 0;

}
Merci d'avance à tous!!!

Burby