Writing to micro SD only.
Dependencies: SDFileSystem mbed
Fork of SDFileSystem_HelloWorld by
main.cpp@1:3d3fb5f81373, 2017-05-30 (annotated)
- Committer:
- aaaaaYukiaaaaa
- Date:
- Tue May 30 04:55:17 2017 +0000
- Revision:
- 1:3d3fb5f81373
- Parent:
- 0:bdbd3d6fc5d5
- Child:
- 2:ee19d6b4dc98
This program is writing data only.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:bdbd3d6fc5d5 | 1 | #include "mbed.h" |
mbed_official | 0:bdbd3d6fc5d5 | 2 | #include "SDFileSystem.h" |
mbed_official | 0:bdbd3d6fc5d5 | 3 | |
mbed_official | 0:bdbd3d6fc5d5 | 4 | SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 5 | DigitalIn enable(p30); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 6 | AnalogIn inpt(p20); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 7 | DigitalOut myled(LED1); |
mbed_official | 0:bdbd3d6fc5d5 | 8 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 9 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 10 | void SD(int num, double btry){ |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 11 | myled = 1; |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 12 | |
mbed_official | 0:bdbd3d6fc5d5 | 13 | printf("Hello World!\n"); |
mbed_official | 0:bdbd3d6fc5d5 | 14 | |
mbed_official | 0:bdbd3d6fc5d5 | 15 | mkdir("/sd/mydir", 0777); |
mbed_official | 0:bdbd3d6fc5d5 | 16 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 17 | FILE *fp_csv = fopen("/sd/mydir/sdtest.csv", "a"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 18 | if(fp_csv == NULL) { |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 19 | error("Could not open file for write\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 20 | } |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 21 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 22 | fprintf(fp_csv, "%f,%f\n", btry, (float)num); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 23 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 24 | fclose(fp_csv); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 25 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 26 | ///////////////// |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 27 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 28 | // FILE *fp_txt = fopen("/sd/mydir/sdtest.txt", "a"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 29 | // if(fp_txt == NULL) { |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 30 | // error("Could not open file for write\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 31 | // } |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 32 | // fprintf(fp_txt, "Hello fun SD Card World!\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 33 | // fprintf(fp_txt, "Hello fun SD Card World!\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 34 | // fprintf(fp_txt, "%f,%f\n", btry, (float)num); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 35 | // |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 36 | // fclose(fp_txt); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 37 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 38 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 39 | printf("Goodbye World!\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 40 | myled = 0; |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 41 | } |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 42 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 43 | int main() { |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 44 | float btry_lg = 0; |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 45 | int nmbr_lg = 0; |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 46 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 47 | FILE *fp_csv = fopen("/sd/mydir/sdtest.csv", "w"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 48 | if(fp_csv == NULL) { |
mbed_official | 0:bdbd3d6fc5d5 | 49 | error("Could not open file for write\n"); |
mbed_official | 0:bdbd3d6fc5d5 | 50 | } |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 51 | fprintf(fp_csv, "baterry,number\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 52 | fclose(fp_csv); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 53 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 54 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 55 | // FILE *fp_txt = fopen("/sd/mydir/sdtest.txt", "a"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 56 | // if(fp_txt == NULL) { |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 57 | // error("Could not open file for write\n"); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 58 | // } |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 59 | // fclose(fp_txt); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 60 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 61 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 62 | while(1){ |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 63 | // test the voltage on the initialized analog pin |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 64 | // and if greater than 0.3 * VCC set the digital pin |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 65 | // to a logic 1 otherwise a logic 0 |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 66 | btry_lg = inpt.read()*3.3; |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 67 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 68 | //if(ain > 0.3f) { |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 69 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 70 | //} else { |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 71 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 72 | //} |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 73 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 74 | // print the percentage and 16 bit normalized values |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 75 | //printf("percentage: %3.3f%%\n", ain.read()*100.0f); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 76 | //printf("normalized: 0x%04X \n", ain.read_u16()); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 77 | //wait(0.2f); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 78 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 79 | nmbr_lg++; |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 80 | SD(nmbr_lg, btry_lg); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 81 | |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 82 | wait(0.1); |
aaaaaYukiaaaaa | 1:3d3fb5f81373 | 83 | } |
mbed_official | 0:bdbd3d6fc5d5 | 84 | } |