/*
Listfiles
This example shows how print out the files in a
directory on a SD card.Pin numbers reflect the default
SPI pins for Uno and Nano models
The circuit:
SD card attached to SPI bus as follows:
** SDO - pin 11
** SDI - pin 12
** CLK - pin 13
** CS - depends on your SD card shield or module.
Pin 10 used here for consistency with other Arduino examples
(for MKRZero SD: SDCARD_SS_PIN)
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
modified 2 Feb 2014
by Scott Fitzgerald
modified 24 July 2020
by Tom Igoe
This example code is in the public domain.
*/
#include <SD.h>
#include "ulog_sqlite.h"
#include <SPI.h>
const int chipSelect = 4;
File root;
File testando_var_arquivo;
void setup() {
File testando_var_arquivo;
// Open serial communications and wait for port to open:
Serial.begin(9600);
// wait for Serial Monitor to connect. Needed for native USB port boards only:
while (!Serial);
Serial.print("Inicializando o SD card no deletando_arquivo...");
if (!SD.begin(chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("1. is a card inserted?");
Serial.println("2. is your wiring correct?");
Serial.println("3. did you change the chipSelect pin to match your shield or module?");
Serial.println("Note: press reset or reopen this serial monitor after fixing your issue!");
while (true);
}
Serial.println("inicializacao do SD card no deletando_arquivo concluida.");
rodando_o_root();
// abrido o arquivo testando.db para leitura:
testando_var_arquivo = SD.open("/testando.txt", FILE_WRITE);
if (testando_var_arquivo) {
Serial.println("Escrevendo no testando.txt...");
testando_var_arquivo.println("Escrevi agora testing 4, 5, 6.");
testando_var_arquivo.println("Escrevi agora testing 4, 5, 6.");
testando_var_arquivo.println("Escrevi agora testing 4, 5, 6.");
testando_var_arquivo.println("Escrevi agora testing 4, 5, 6.");
Serial.println("Terminei a escrita no testando.txt...");
testando_var_arquivo.close();
// read from the file until there's nothing else in it:
testando_var_arquivo = SD.open("/testando.txt", FILE_READ);
if (testando_var_arquivo) {
Serial.println("Conteudo lido no arquivo testando.txt, depois de escrever: ");
// read from the file until there's nothing else in it:
while (testando_var_arquivo.available()) {
Serial.write(testando_var_arquivo.read());
}
// close the file:
testando_var_arquivo.close();
} else {
// if the file didn't open, print an error:
//Serial.println("Erro ao abrir o testando.db para ler conteudo.");
}
} else {
// if the file didn't open, print an error:
Serial.println("O arquivo testando.txt nao foi encontrado no SD.");
}
// close the file:
testando_var_arquivo.close();
//testando_var_arquivo == 0;
//Serial.println("DEBUGANDO: testando_var_arquivo tem o valor de: ");
Serial.println(testando_var_arquivo);
Serial.println("zzzzzzzzzzzzzzzz");
//Serial.println("...");
//Serial.println("...");
//Serial.print("DEBUGANDO.Conteudo armazenado no File:");
//Serial.println(uint8_t);
//Serial.println("...");
//Serial.println("...");
//Serial.println("DEBUGANDO: Root depois de escrever no arquivo testando.db.");
rodando_o_root();
//Deletando_arquivo();
rodando_o_root();
//Serial.println("Buscando arquivos no SD apos gerar o arquivo testando.db...");
//root = SD.open("/");
//printDirectory(root, 0);
//Serial.println("...acima, arquivos existentes na raiz do SD card.");
//escrevendo no arquivo
//Serial.println("Escrevendo no testando.db...");
//Serial.print("DEBUGANDO.testando_var_arquivo possui o valor de:");
//Serial.println(testando_var_arquivo);
//testando_var_arquivo = SD.open("/testando.db", FILE_WRITE);
// if the file opened okay, write to it:
//if (testando_var_arquivo) {
//Serial.println("Escrevendo no testando.db....");
//Serial.print("DEBUGANDO.testando_var_arquivo possui o valor de, antes de escrever no arquivo:");
//Serial.println(testando_var_arquivo);
//testando_var_arquivo.println("Escrevi agora testing 4, 5, 6.");
// close the file:
//testando_var_arquivo.close();
//testando_var_arquivo == 0;
//Serial.println("Fim na escrita do arquivo testando.db.");
//} else {
// if the file didn't open, print an error:
//Serial.println("Erro ao abrir o testando.db para escrita.");
//}
//Serial.print("DEBUGANDO.testando_var_arquivo possui o valor de:");
//Serial.println(testando_var_arquivo);
// lendo arquivo:
//testando_var_arquivo = SD.open("/testando.db", FILE_READ);
//if (testando_var_arquivo) {
//Serial.print("Conteudo escrito no arquivo testando.db: ");
// read from the file until there's nothing else in it:
//while (testando_var_arquivo.available()) {
//Serial.write(testando_var_arquivo.read());
//}
// close the file:
//testando_var_arquivo.close();
//} else {
// if the file didn't open, print an error:
//Serial.println("Erro ao abrir o testando.db para ler conteudo.");
//}
// delete the file: //QUANDO EU INCLUO O REMOVE A EXECUÇÃO DO CÓDIGO FICA BUGADA.
//Serial.println("Excluindo testando.db...");
//SD.remove("testando.db");
//if (SD.exists("testando.db")) {
//Serial.println("testando.db nao foi excluido.");
//} else {
//Serial.println("testando.db foi excluido.");
//}
//Serial.println("Buscando arquivos no SD apos DELETAR testando.db...");
//root = SD.open("/");
//printDirectory(root, 0);
//Serial.println("...acima, arquivos existentes na raiz do SD card apos DELETAR o testando.db.");
}
void loop() {
// nothing happens after setup finishes.
}
void Deletando_arquivo() {
/// delete the file: //QUANDO EU INCLUO O REMOVE A EXECUÇÃO DO CÓDIGO FICA BUGADA.
Serial.println("Excluindo testando.txt...");
SD.remove("testando.txt");
if (SD.exists("testando.txt")) {
Serial.println("testando.txt nao foi excluido.");
} else {
Serial.println("testando.txt foi excluido.");
}
}
void rodando_o_root() {
Serial.println("Buscando arquivos no SD no rodando_o_root...");
root = SD.open("/");
Serial.print("DEBUGANDO.root possui o valor de:");
Serial.println(root);
printDirectory(root, 0);
Serial.println("...acima, arquivos existentes na raiz do SD card.");
root.close();
Serial.print("DEBUGANDO.root possui o valor de:");
Serial.println(root);
//Serial.print("DEBUGANDO.root possui o valor de:");
//Serial.println(root);
}
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile();
if (! entry) {
// no more files
break;
}
for (uint8_t i = 0; i < numTabs; i++) {
while (Serial.availableForWrite() <= 0) {
Serial.print('\t');
}
}
Serial.print(entry.name());
if (entry.isDirectory()) {
while (Serial.availableForWrite() <= 0) {
Serial.println("/");
printDirectory(entry, numTabs + 1);
}
} else {
// files have sizes, directories do not
Serial.print("\t\t");
Serial.println(entry.size(), DEC);
}
entry.close();
}
}