Can we write text file to SD card that can also be read in windows?
Notepad in Windows will show the raw data in a file - in all its hideous glory. However, there are things to make sure of:


Make sure that what you write to a file is ASCII characters. By that I mean do not simply write a byte or word value, convert it to a string first:

byte value;
...

value = Sensor.read(); // Return a value from 0-99
Card.write(value);


The above code will write a byte of 0 to 99 to the file - but you probably don't want that! The byte 32 is a space; 65 is the capital letter A; and 97 is the lower case letter a. Say what?

Every byte is represented by a different character in Notepad, so you need to convert the byte 97 into TWO bytes - first the byte (character) 9, and then the byte (character) 7. How do you do that?

One easy way is to use the following:

byte value;
char buffer[8]; // Define once for temporary use

...
value = Sensor.read();
sprintf(buffer, " %d", value); // Store value in buffer as chars - with a leading space
Card.write(buffer);


The above will write one (or more) characters into the file depending on the value you want to print. If your existing data was just a series of 0 bytes, your old code would have been nothing but NULLs. This will (at least) print 0 0 0 0 0 0 0 0 0 0