Paso 7: Usando: tarjeta SD
Descargar los archivos
Tendrá el objeto fsrw para lectura de tarjetas SD. Descomprimirlo en un directorio nuevo en el escritorio. También incluido es algunos datos ficticios - data.txt copia a tu tarjeta SD y la Inserte la tarjeta en la pantalla táctil
Lectura de SD
Este es un programa de muestra;
Nuestro programa empieza estableciendo clockspeed de la hélice - 80Mhz. Entonces, nos aseguramos de incluir la biblioteca de fsrw en la sección OBJ. Ahora comienza nuestro programa;
sdfat.mount(0)
intenta montar una tarjeta SD conectada en P0... P3. Si tiene éxito, devuelve true
, de lo contrario, false
se devuelve. El programa ignora el resultado, pero podríamos utilizar para activar un mensaje de error como 'No SD Card Found'.
sdfat.popen(string("data.txt"), "r")
se abre un archivo almacenado en el directorio raíz de nuestra tarjeta SD con el nombre 'data.txt'. La "r" dice fsrw que queremos abrir el archivo en modo de sólo lectura. También se devuelve true
en éxito y false
en caso de error, así que nos podríamos desencadenar un mensaje de error si el archivo no se encuentra.
sdfat.pgetc
Devuelve el siguiente carácter en el archivo actualmente abierto. En este caso, estamos almacenando el personaje regresado en la variable 'r'. Cada vez que llamamos sdfat.pgetc
, el puntero del archivo pasa al siguiente carácter.
Cuando hemos leído a través de todo el archivo, sdfat.pgetc
devolverá -1. Es por ello que comprobamos en este bucle de repetición si se devuelve cualquier número bajo 0. Entonces sabemos que hemos llegado al final del archivo y podemos pasar.
sdfat.pclose
cierra el archivo abierto actualmente. Cuando se cierra, podemos abrir otro archivo llamando al sdfat.popen
y especificar el archivo de nuevo. O podemos desmontar la tarjeta SD con sdfat.unmount
.
Escribir en una SD
Este es nuestro programa de muestra
Ambos programas tienen mucho en común - en primer lugar la velocidad del reloj de la hélice, Monte la tarjeta SD y abrir un archivo. La primera diferencia es que utilizamos sdfat.popen(string("data.csv", "w")
, la 'w' le dice a fsrw que estamos abriendo el archivo en modo escritura y queremos almacenar datos en el archivo. Si data.csv no está en el directorio raíz de la SD, fsrw la creará.
Para escribir datos, usamos sdfat.pputs(data)
. Cuando hemos terminado de escribir en el archivo, podemos cerrar con sdfat.pclose
. Y sdfat.unmount
desmonta la tarjeta SD.