Pages: [1]   Go Down
Author Topic: SD Card leer -uint8_t desde la memoria--help  (Read 571 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 133
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, tengo instalado una SD formateada a Fat32, y estoy leyendo un archivo txt, con data entre 0-255.
el problema que no se como leer estos numeros, ya que la funcion que lee ,hacede a la memoria los lee como bytes. "read()"


Code:
#include <SPI.h>
#include <SD.h>

File myFile;


union {                // This Data structure lets
  byte asBytes[4];    // us take the byte array
  uint8_t asint[1];    // sent from processing and
}                      // easily convert it to a
foo;


void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
 
   pinMode(10, OUTPUT);
  
  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
 
  myFile = SD.open("data/R0.txt");
  if (myFile) {
 
  
  for(int i=0;i<1;i++){
    
        int index=0;
    while(index<4)
  {
       foo.asBytes[index] = myFile.read();
     Serial.println(foo.asBytes[index]);

      index++;

  }
  if(index==4  )
  {
       Serial.println(foo.asint[0]);

  }
      
    }
    // close the file:
    myFile.close();
  } else {
   // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
// nothing happens after setup
}



yo venia leyendo de esta forma, pero por el puerto serial desde el processing. pero no que pasa yo creo debe ser similar, pero no
consigo.

//data del txt de esta forma:

184,179,179,179,179,179,179,179,179,179,179,179,179,179,179,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,
« Last Edit: April 09, 2013, 04:48:38 pm by Omnimusha » Logged

Palencia, Spain
Offline Offline
Sr. Member
****
Karma: 25
Posts: 493
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola. Creo que deberías explicar mejor qué es lo que realmente quieres obtener. No obstante me llama la atención la union foo que declaras y a la que no veo mucha utilidad, ya que byte y uint8_t son básicamente lo mismo. ¿No habrás querido declarar uint32_t o, lo que es lo mismo en arduino, unsigned long?
De todas formas, como te digo, lo primero sería que nos explicaras más claramente qué deseas obtener.
Saludos
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 133
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

.................. y quiero leer la data que tengo en la SD, en un uint8_t.
Logged

Palencia, Spain
Offline Offline
Sr. Member
****
Karma: 25
Posts: 493
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A ver. ¿Entiendo que los datos que pones en tu primer post son lo que contiene el txt o la salida que te da serial? ¿Podrías detallar las tres cosas (lo que hay en el txt, la salida que obtienes en serial y lo que quieres obtener)?
Logged

Pages: [1]   Go Up
Jump to: