RuiViana

Le_Grava_SD.ino

Nov 24th, 2020 (edited)
551
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ESP32 GPIO5 SS, GPIO18 CLK, GPIO19 MISO, GPIO23 MOSI
  2. #include <SPI.h>
  3. #include <SD.h>                                       // Lib cartao SD
  4. #define CS_PIN  5                                    // SS pin cartao SD
  5. File dataFile;                                        // Instancia
  6.  
  7. String meuArquivo = "/tabela.txt";                     // Nome de arquivo
  8. String nome = "Jose";                                 // Nome
  9. String valor1 = "1";                                  // Valor1
  10. String valor2 = "2";                                  // Valor2
  11. String valor3 = "3";                                  // Valor3
  12. //-------------------------------------------------------------------
  13. void leitura()                                        // Rotina para ler do SD
  14. {
  15.   dataFile = SD.open(meuArquivo);                     // Abre arquivo de controles por apto
  16.   if (dataFile)                                       // Se abriu arquivo
  17.   {
  18.     while (dataFile.available())                      // Enquato tiver linhas no arquivo
  19.     {
  20.       String line  = dataFile.readStringUntil('\n');  // Le a linha
  21.       Serial.println(line);                           // Print
  22.     }
  23.     Serial.println("EOF");                            // Print fim de arquivo
  24.     dataFile.close();                                 // Fecha arquivo
  25.   }
  26.   else                                                // Se nao abriu arquivo
  27.   {
  28.     Serial.println("Falha ao abrir o arquivo tabela.txt");  // Print
  29.   }
  30. }
  31. //-------------------------------------------------------------------
  32. void gravacao()                                       // Rotina para gravar no SD
  33. {
  34.   dataFile = SD.open(meuArquivo, FILE_WRITE);         // Se não existe, cria o arquivo novo
  35.   if (!dataFile)                                      // Se nao abriu arquivo
  36.   {
  37.     Serial.println("Arquivo \"meuArquivo\" nao existe");  // Informa falha
  38.   }
  39.   else                                                  // Se abriu
  40.   {
  41.     //  {"nome":"Jose","valor1":"544","valor2":"21","valor3":"287"}
  42.     dataFile.print("{");                                // Salva inicio
  43.     dataFile.print("\"nome\":\"");                      // Salva
  44.     dataFile.print(nome);                               // Espaco
  45.     dataFile.print("\",");                              // Salva
  46.  
  47.     dataFile.print("\"valor1\":\"");                    // Salva
  48.     dataFile.print(valor1);                             // Espaco
  49.     dataFile.print("\",");                              // Salva
  50.  
  51.     dataFile.print("\"valor2\":\"");                    // Salva
  52.     dataFile.print(valor2);                             // Espaco
  53.     dataFile.print("\",");                              // Salva
  54.  
  55.     dataFile.print("\"valor3\":\"");                    // Salva
  56.     dataFile.print(valor3);                             // Espaco
  57.     dataFile.println("\"}");                              // Salva
  58.  
  59.     dataFile.close();                                 // Fecha arquivo
  60.     Serial.println("Salvo");                            // Print
  61.   }
  62. }
  63. //------------------------------------------------------------------------------------
  64. void setup()
  65. {
  66.   Serial.begin(115200);
  67.   Serial.println("\n Initializing SD card...");
  68.   if (!SD.begin(CS_PIN))
  69.   {
  70.     Serial.println("initialization failed. Things to check:");
  71.   }
  72.   Serial.println("initialization done.");
  73.   gravacao();
  74.   leitura();
  75. }
  76. //-----------------------------------------------------------------------------------------
  77. void loop()
  78. {
  79. }
RAW Paste Data