Make sure the speed of writing to microSD.
Dependencies: SDFileSystem mbed
main.cpp
- Committer:
- aaaaaYukiaaaaa
- Date:
- 2017-05-30
- Revision:
- 0:b179d330bb2e
File content as of revision 0:b179d330bb2e:
#include "mbed.h" #include "SDFileSystem.h" SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board DigitalIn enable(p30); AnalogIn inpt(p20); DigitalOut myled(LED1); //float Log[16]={}; Timer SDspeed; void SD(int num, float btry, float time, float stack_time){ myled = 1; // printf("Hello World!\n"); mkdir("/sd/mydir", 0777); SDspeed.start(); FILE *fp_csv = fopen("/sd/mydir/SDtestSpeed.csv", "a"); if(fp_csv == NULL) { error("Could not open file for write\n"); } fprintf(fp_csv, "%d,%f,%.5f, %.5f\n", num, btry, time, stack_time); fclose(fp_csv); SDspeed.stop(); ///////////////// // FILE *fp_txt = fopen("/sd/mydir/sdtest.txt", "a"); // if(fp_txt == NULL) { // error("Could not open file for write\n"); // } // fprintf(fp_txt, "Hello fun SD Card World!\n"); // fprintf(fp_txt, "Hello fun SD Card World!\n"); // fprintf(fp_txt, "%f,%f\n", btry, (float)num); // // fclose(fp_txt); printf("Goodbye World!\n"); myled = 0; } int main() { float btry_lg = 0; int nmbr_lg = 0; float wrt_SD_time = 0; float sec = 0; FILE *fp_csv = fopen("/sd/mydir/SDtestSpeed.csv", "w"); if(fp_csv == NULL) { error("Could not open file for write\n"); } fprintf(fp_csv, "number, battery, time\n"); fclose(fp_csv); while(1){ // test the voltage on the initialized analog pin // and if greater than 0.3 * VCC set the digital pin // to a logic 1 otherwise a logic 0 btry_lg = inpt.read()*3.3; //if(ain > 0.3f) { //} else { //} // print the percentage and 16 bit normalized values //printf("percentage: %3.3f%%\n", ain.read()*100.0f); //printf("normalized: 0x%04X \n", ain.read_u16()); //wait(0.2f); nmbr_lg++; SD(nmbr_lg, btry_lg, wrt_SD_time, sec); wrt_SD_time = SDspeed.read(); sec += wrt_SD_time; wait_us(10); } }