Bonjour a tous,
J' ai pour l'instant un souci d'initialisation de ma carte SD:
C'est une SD de 32Mo de marque Canon
Voici le début de mon code de test d'initialisation:
Lorsque j'envoie la CMD0, la carte me répond bien 0x01,Code:CS = 1; //Chip select désactivé for(i=0;i<10;i++) // initialise la SD card en SPI mode { WRITE_SPI(0xFF); } Delay10KTCYx (100); CS = 0; //Chip select activé Delay10KTCYx (100); WRITE_SPI(0x40); //Command RESET WRITE_SPI(0x00); //Tous les arguments sont 0x00 pour la commande RESET WRITE_SPI(0x00); WRITE_SPI(0x00); WRITE_SPI(0x00); WRITE_SPI(0x95); //Checksum precalculé while(data != 0x01) // Tant que SD card repond pas 0x01 refaire lecture { READ_SPI(); } //WRITE_SPI(0xFF); //Delay10KTCYx (100); //Delay10KTCYx (100); Delay10KTCYx (100); WRITE_SPI(0x41); //0x41 send mmc command one to bring out of idle state WRITE_SPI(0x00); // all the arguments are 0x00 for command one WRITE_SPI(0x00); WRITE_SPI(0x00); WRITE_SPI(0x00); WRITE_SPI(0xFF); //Checksum precalculé while(data != 0x00) // Tant que SD card repond pas 0x00 refaire lecture { READ_SPI(); }
mais pour la CMD41 mon pic lit que des 0xFF.
Si vous avez une idée ?
-----