Advertisement
RuiViana

DMX_512_SD

Jun 28th, 2016
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.41 KB | None | 0 0
  1. #include <SD.h>                                   // Biblioteca SD card
  2. File MeuArquivo;                                  // Instancia meu arquivo
  3.  
  4. char Conteudo = 0;                                // Valores lido do arquivo
  5. char FimDeLinha = 0;                              // Valor ultima posição da linha
  6. unsigned int Digitado = 0;                        // Valor digitado na serial
  7. char Linha = 0 ;                                  // Contador de linhas
  8. //---------------------------------
  9. void setup()
  10. {
  11.   Serial.begin(9600);                             // Inicialisa serial
  12.   while (!Serial)                                 // Aguarda pela comunicacao com a serial. Somente port USB nativo
  13.   {
  14.     ;
  15.   }
  16.   if (!SD.begin(4))                               // Se nao encontro o SD card
  17.   {
  18.     Serial.println("Falha na inicializacao");     // Print
  19.     return;                                       // Retorna
  20.   }
  21. }
  22. //---------------------------------
  23. void loop()
  24. {
  25.   while (Digitado == 0)                           // Aguarda digitar dados na Serial
  26.   {
  27.     while (Serial.available() > 0)                // Se existir valor na serial
  28.     {
  29.       Digitado = Serial.parseInt();               // Le valor digitado
  30.       Linha = 0;                                  // Contador de linhas
  31.     }
  32.   }
  33.   MeuArquivo = SD.open("test.txt");               // Abre arquivo teste.txt para leitura
  34.   if (MeuArquivo)                                 // Se abriu, faca
  35.   {
  36.     while (MeuArquivo.available())                // Enquanto tiver linhas no arquivo
  37.     {
  38.       Linha++;
  39.       while (FimDeLinha != 0x0A)                  // Enquanto não for fim de linha faca
  40.       {
  41.         Conteudo  = MeuArquivo.read();            // Leia o valor nas proximas posicoes da linha
  42.         FimDeLinha = Conteudo;                    // Guarda valor pra saber qdo acaba linha
  43.         if (Linha == Digitado)                    // Se for a linha requerida
  44.         {
  45.           Serial.print(Conteudo);                 // mostra valor lido
  46.         }
  47.       }
  48.       FimDeLinha = 0;                             // Limpa valor em FimDeLinha
  49.     }
  50.     MeuArquivo.close();                           // Fecha arquivo de dados
  51.   }
  52.   else                                            // Se nao abriu, faca
  53.   {
  54.     Serial.println("erro abrindo test.txt");      // Print
  55.   }
  56.   Digitado = 0;                                   // Limpa valor digitado
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement