実際のところ
#include <M5Stack.h>
#include <SD.h>
File myFile;
double imuData[3];
void setup() {
M5.begin();
M5.IMU.Init();
SD.begin(TFCARD_CS_PIN);
myFile = SD.open("/temp.txt", FILE_WRITE);
if (myFile) {
sampling();
myFile.close();
output2();
Serial.println("Finished");
} else {
Serial.println("Error opening temp.txt");
}
}
void sampling() {
for (int i = 0; i < 10; i++) {
M5.IMU.getAhrsData(&imuData[0], &imuData[1], &imuData[2]);
myFile.write((uint8_t*)imuData, sizeof(imuData));
delay(100);
}
}
void output2() {
myFile = SD.open("/temp.txt");
if (myFile) {
while (myFile.available()) {
myFile.read((uint8_t*)imuData, sizeof(imuData));
Serial.printf("pitch %5.2f roll %5.2f yaw %5.2f\n", imuData[0], imuData[1], imuData[2]);
}
myFile.close();
} else {
Serial.println("Error opening temp.txt");
}
}