Paso 3: Código de prueba
No podemos usar la librería de Arduino directamente en pcDuino para el chip de control principal diferentes entre el Arduino y pcDuino, como resultado, informará de error si utilizamos directamente la tarjeta SD en Arduino por pcDuino.
En primer lugar, haga clic en la SD que se ha descargado y reparado bien y podría ser utilizado en pcDuino. Entonces, para cambiar el nombre del archivo descomprimido a la SD en mayúsculas (como el archivo de tarjeta figura la SD en el escritorio, en las bibliotecas es la biblioteca propia original del IDE)
Nos vuelva a la biblioteca de SD en bibliotecas con nuestra propia biblioteca de SD (como sigue)
Elegir la 'aplicar esta opción a todo existente archivo ', haga clic en sobrescribir, y el trabajo del cambio estará bien hecho. Por último cubrir "Print.h" en "/ usr/share/arduino/hardware/arduino/pcduino/corazones/arduino" con el archivo Print. Copie el siguiente código en el IDE de pcDuino
#include
#include Sd2Card tarjeta; Volumen de SdVolume; SdFile raíz;
#define chipSelect 10 void setup() {uint32_t volumesize;
SD.begin(chipSelect);
Si (! card.init (chipSelect 4,))
{printf ("error de inicialización. Cosas a comprobar: \n");
printf ("* es una tarjeta que se inserta? \n");
printf ("* es el cableado correcto? \n");
printf ("* cambió el pin chipSelect para que coincida con su escudo o módulo? \n");
retorno; }
Else printf ("el cableado es correcto y es una tarjeta de regalo. \n");
printf ("\nCard tipo:");
Switch(Card.Type()) {SD_CARD_TYPE_SD1 de caso: printf("SD1\n");
rotura; caso SD_CARD_TYPE_SD2: printf("SD2\n");
rotura; caso SD_CARD_TYPE_SDHC:
printf("SDHC\n"); rotura; por defecto:
printf("Unknown\n"); rotura; } / / Ahora vamos a intentar abrir el 'volumen' / 'partición' – debe ser FAT16 o FAT32
Si (! volume.init(card))
{printf ("no pudo encontrar FAT16/FAT32 partición. \nMake que has formateado el card\n"); vuelta;}
printf ("tipo de volumen es FAT%d\n",volume.fatType());
volumesize = volume.blocksPerCluster();
los racimos son de colecciones de bloques volumesize * = volume.clusterCount(); //
vamos a tener un montón de racimos volumesize * = 512; Bloques de la tarjeta de SD siempre son 512 bytes
printf ("tamaño del volumen (bytes): T%d\n",volumesize);
volumesize = 1024;
printf ("tamaño del volumen (Kbytes): T%d\n",volumesize);
volumesize = 1024; printf ("tamaño de volumen (MB):
T%d\n",volumesize); if(root.openRoot(Volume) == false)
{printf ("raíz Open error!"); return;}
printf ("los archivos se encuentran en la tarjeta (nombre, fecha y tamaño en bytes):");
Lista todos los archivos en la tarjeta con la fecha y el tamaño root.ls ((LS_R | LS_DATE | LS_SIZE), 8); root.Close(); printf("\n"); Serial.Begin(9600); }
void loop() {}