Étape 3: Code de Test
Nous ne pouvons pas utiliser Arduino bibliothèque directement sur pcDuino pour la puce de contrôle principal différent entre l’Arduino et pcDuino, par conséquent, il signalera erreur si nous utilisons directement la carte SD dans l’Arduino par pcDuino.
Tout d’abord, cliquez sur la carte SD qui a été téléchargé et réparé bien et pourrait être utilisé sur pcDuino. Ensuite, pour modifier le nom du fichier décompressé en majuscules SD (comme le fichier de carte figure la carte SD sur le bureau, dans les bibliothèques est la bibliothèque originale propre de l’IDE)
Puis nous remplaçons la bibliothèque SD dans les bibliothèques avec notre propre bibliothèque de SD (comme suit)
Choisissez le « appliquer cette option à tous les fichiers », cliquez sur remplacer, et le travail de changement sera bien fait. Enfin, couvrir le "Print.h" dans "/ usr/share/arduino/matériel/arduino/pcduino/carottes/arduino" avec le fichier fourni Print. Ensuite, copiez le code dans l’IDE de pcDuino ci-dessous
#include
#include Sd2Card carte ; SdVolume volume ; SdFile racine ;
#define chipSelect 10 void setup() {uint32_t volumesize ;
SD.begin(chipSelect) ;
Si (! card.init (4, chipSelect))
{printf ("échouée de l’initialisation. Choses à vérifier : \n") ;
printf ("* est une carte est insérée? \n") ;
printf ("* est votre câblage correct? \n") ;
printf ("* avez-vous changé la broche chipSelect pour correspondre à votre bouclier ou module? \n") ;
retour ; }
else printf ("le câblage est correct et une carte est present. \n") ;
printf ("\nCard type:") ;
Switch(Card.type()) {case SD_CARD_TYPE_SD1 : printf("SD1\n") ;
rupture ; affaire SD_CARD_TYPE_SD2 : printf("SD2\n") ;
rupture ; affaire SD_CARD_TYPE_SDHC :
printf("SDHC\n") ; rupture ; par défaut :
printf("Unknown\n") ; rupture ; } / / Maintenant, nous allons essayer d’ouvrir le « volume » / « partition » – il faut FAT16 ou FAT32
Si (! volume.init(card))
{printf ("Impossible de trouver FAT16/FAT32 partition. \nMake vous avez formaté le card\n"); return;}
printf ("type de Volume est dans FAT%d\n",volume.fatType()) ;
volumesize = volume.blocksPerCluster() ;
les clusters sont des collections de blocs volumesize * = volume.clusterCount() ; //
Nous aurons beaucoup de grappes volumesize * = 512 ; Blocs de carte SD sont toujours de 512 octets
printf ("taille du Volume (octets): T%d\n",volumesize) ;
volumesize / = 1024 ;
printf ("taille de Volume (Ko): T%d\n",volumesize) ;
volumesize / = 1024 ; printf ("taille de Volume (Mo) :
T%d\n",volumesize) ; if(root.openRoot(volume) == false)
{printf ("racine ouvert impossible!"); return;}
printf ("fichiers trouvés sur la carte (nom, date et taille en octets):") ;
Lister tous les fichiers dans la carte avec la date et la taille root.ls ((LS_R | LS_DATE | LS_SIZE), 8) ; root.Close() ; printf("\n") ; Serial.Begin(9600) ; }
void loop() {}