record adc values and send them to another uprocessor
Dependencies: BufferedSerial SDFileSystem mbed
Fork of SDFileSystem_HelloWorld by
sd_card.h@4:0e2980186bed, 2016-06-16 (annotated)
- Committer:
- patmcna
- Date:
- Thu Jun 16 21:17:30 2016 +0000
- Revision:
- 4:0e2980186bed
Organized into header files to keep main clean
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
patmcna | 4:0e2980186bed | 1 | #include "mbed.h" |
patmcna | 4:0e2980186bed | 2 | |
patmcna | 4:0e2980186bed | 3 | |
patmcna | 4:0e2980186bed | 4 | |
patmcna | 4:0e2980186bed | 5 | /************************************************************************ |
patmcna | 4:0e2980186bed | 6 | * handles creating an sd card object, opening the .txt file |
patmcna | 4:0e2980186bed | 7 | * then writes array c and closes file |
patmcna | 4:0e2980186bed | 8 | ************************************************************************/ |
patmcna | 4:0e2980186bed | 9 | void writeToSdCard() |
patmcna | 4:0e2980186bed | 10 | { |
patmcna | 4:0e2980186bed | 11 | pc.printf("Begin write SD Card routine\r\n"); |
patmcna | 4:0e2980186bed | 12 | mkdir("/sd/mydir", 0777); |
patmcna | 4:0e2980186bed | 13 | |
patmcna | 4:0e2980186bed | 14 | FILE *fp = fopen("/sd/mydir/sdtest.txt", "w"); |
patmcna | 4:0e2980186bed | 15 | |
patmcna | 4:0e2980186bed | 16 | while(fp == NULL) |
patmcna | 4:0e2980186bed | 17 | { |
patmcna | 4:0e2980186bed | 18 | error("Could not open file for write\r\n"); |
patmcna | 4:0e2980186bed | 19 | } |
patmcna | 4:0e2980186bed | 20 | |
patmcna | 4:0e2980186bed | 21 | pc.printf("Start writing..."); |
patmcna | 4:0e2980186bed | 22 | |
patmcna | 4:0e2980186bed | 23 | for (int i = 0; i < arrayCount; i++) |
patmcna | 4:0e2980186bed | 24 | { |
patmcna | 4:0e2980186bed | 25 | fprintf(fp, "%f\r\n", squibCLT_array[i]); |
patmcna | 4:0e2980186bed | 26 | } |
patmcna | 4:0e2980186bed | 27 | |
patmcna | 4:0e2980186bed | 28 | fclose(fp); |
patmcna | 4:0e2980186bed | 29 | pc.printf("Done\r\n"); |
patmcna | 4:0e2980186bed | 30 | } |
patmcna | 4:0e2980186bed | 31 | |
patmcna | 4:0e2980186bed | 32 | |
patmcna | 4:0e2980186bed | 33 | |
patmcna | 4:0e2980186bed | 34 | /************************************************************************ |
patmcna | 4:0e2980186bed | 35 | * handles opening the named .txt file and stores everything |
patmcna | 4:0e2980186bed | 36 | * to the char array c and then closes the file. |
patmcna | 4:0e2980186bed | 37 | * |
patmcna | 4:0e2980186bed | 38 | * |
patmcna | 4:0e2980186bed | 39 | ************************************************************************/ |
patmcna | 4:0e2980186bed | 40 | void readFromSdCard() |
patmcna | 4:0e2980186bed | 41 | { |
patmcna | 4:0e2980186bed | 42 | pc.printf("Begin read SD Card routine\r\n"); |
patmcna | 4:0e2980186bed | 43 | |
patmcna | 4:0e2980186bed | 44 | FILE *fp = fopen("/sd/mydir/sdtest.txt", "r"); |
patmcna | 4:0e2980186bed | 45 | |
patmcna | 4:0e2980186bed | 46 | while(fp == NULL) |
patmcna | 4:0e2980186bed | 47 | { |
patmcna | 4:0e2980186bed | 48 | error("Could not open file for read\r\n"); |
patmcna | 4:0e2980186bed | 49 | } |
patmcna | 4:0e2980186bed | 50 | |
patmcna | 4:0e2980186bed | 51 | pc.printf("Starting read..."); |
patmcna | 4:0e2980186bed | 52 | |
patmcna | 4:0e2980186bed | 53 | for (int i = 0; i < arrayCount; i++) |
patmcna | 4:0e2980186bed | 54 | { |
patmcna | 4:0e2980186bed | 55 | fscanf(fp, "%f", &squibCLT_array2[i]); |
patmcna | 4:0e2980186bed | 56 | } |
patmcna | 4:0e2980186bed | 57 | |
patmcna | 4:0e2980186bed | 58 | fclose(fp); |
patmcna | 4:0e2980186bed | 59 | |
patmcna | 4:0e2980186bed | 60 | |
patmcna | 4:0e2980186bed | 61 | #if defined(__MICROLIB) && defined(__ARMCC_VERSION) // with microlib and ARM compiler //possible sd card library bug. Not sure if this helps |
patmcna | 4:0e2980186bed | 62 | free(fp); |
patmcna | 4:0e2980186bed | 63 | #endif |
patmcna | 4:0e2980186bed | 64 | |
patmcna | 4:0e2980186bed | 65 | pc.printf("Done.\r\n"); |
patmcna | 4:0e2980186bed | 66 | |
patmcna | 4:0e2980186bed | 67 | } |
patmcna | 4:0e2980186bed | 68 |