我将-32,-20,-30,-35,-40,-45存储到SD卡Test.cal文件中。我想将它们放入char中,然后将它们放入数组中,而不在数组中使用逗号。最后,结果将是这样的,array [0] = - 32,array [1] = - 20 .....
请帮忙!!!!!
/*
SD card read/write
This example shows how to read and write data to and from an SD card file
The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
*/
#include <SD.h>
char inData[20];
int index=0;
char inchar ;
File myFile;
String test;
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...");
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
pinMode(53, OUTPUT);
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
// re-open the file for reading:
myFile = SD.open("Test.cal");
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
inchar= myFile.read();
Serial.print(inchar);
inData[index]=inchar;
index++;
}
// 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
}
答案 0 :(得分:0)
最好使用数组数组String array:
char* arrayName[] = {"data1", "data2"}
When you use the myFile.read() function
you pass the value to inChar Then check if(inChar != '-')
(int Var)TempNum = inChar - '0' //get the number
(String Var)TempA = String(TempNum) // cast
(String Var)TempB += TempA // concat
else if (inChar == ',')
arrayName[index] = TempB
or use this if the compiler will Scream Error
TempB.toCharArray(arrayName[index],buffer) [in your case make it 3]
index++ TempB=""