Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <SD.h>
- File myFile;
- /* Array para armazenar os dados que estão no SD Card,
- linha por linha ou separado entre ponto e vírgula. */
- int DADOS_SD[5];
- void setup() {
- Serial.begin(9600);
- Serial.print("Iniciando SD card... ");
- if (!SD.begin(4)) {
- Serial.println("Falha ao iniciar!");
- while (1);
- }
- Serial.println("Iniciado!");
- // mult.log ou unic.log
- dadosArquivoParaArray("mult.log");
- // Esse laço vai mostrar os valores em cada posição do array
- for (int i = 0; i < 5; i++) {
- Serial.println("DADOS_SD[" + String(i) + "] = " + DADOS_SD[i]);
- }
- }
- void loop() {}
- void dadosArquivoParaArray(String arquivo) {
- // Para definir a posição do array em que o valor vai ser salvo
- int indice = 0;
- // Para amazenar cada valor lido e ser convertido para inteiro e ser guardado no array
- String valorLido = "";
- myFile = SD.open(arquivo);
- if (myFile) {
- Serial.println("Lendo arquivo " + arquivo);
- /* É bom observar que a leitura é feita de caracter individual, então melhor analisar
- de um por um, e fazer a separação dos dados que devem ser armazenados */
- while (myFile.available()) {
- char c = char(myFile.read());
- // Se o caractere ponto e virgula ou quebra de linha for encontrado,
- // Vamos incrementar o array com o valor atual e limpar a string
- // para receber o novo valor e também incrementar o indice para um novo valor no array
- if (c == ';' || c == '\n') {
- DADOS_SD[indice] = valorLido.toInt();
- valorLido = "";
- indice++;
- } else {
- // Caso contrário, apenas incrementa a string para acumular o valor que deve ser salvo
- valorLido += c;
- }
- }
- // Como os últimos valores são ignorados no while, basta pegar eles e adicionar
- // ao array já que antes de sair do while o indice também foi incrementado
- DADOS_SD[indice] = valorLido.toInt();
- myFile.close();
- } else {
- Serial.println("Erro ao abrir " + arquivo);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement