Bonjour à tous!
Je tente de développer une petite application autour des cartes SD.
D'un point de vue hardware, j'utilise un PIC18F4553 cadencé à 24MHz (sensiblement identique au PIC18F4550) relié à un connecteur de carte SD via les pins prévues pour la communication SPI.
La carte SD que j'utilise pour faire mes test est une TS8GSDHC2 (Transcend Haute capacité 8Go classe 2).
La première partie de mon application consiste à vérifier la lisibilité et initialiser la carte SD.
Pour faire simple, je souhaite initialiser ma carte exactement comme indiqué dans le fichier pdf ci-joint.
Etant donné que je sais quel type de carte j'utilise, j'ai tout de même simplifié mon programme pour écarter d'autres erreurs :
1- CS = 1, SD0 = 1, j'envoie 80 cycles d'horloge > OK
2- CS = 0, j'envoie la commande CMD0 jusqu'à obtenir R1 = 0x01 > OK
3- J'envoie la commande CMD8(arg 0x01AA) et réceptionne R3 = 0x01FF01AA > OK
4- J'envoie la commande CMD58 et réceptionne 0x00FF8000 > OK
5- J'envoie la commande ACMD41 (CMD55 + CMD41) tant que R1 != 0x00
--->>> Ceci ne fonctionne que SANS argument, autrement dit je ne suis pas capable de dire à ma carte SD que je suis en mesure d'accepter une carte SDHC (HCS = 1)...
Vous trouverez aussi ci-joint mon code source.
Flo
-----