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;
} |
Partager