record adc values and send them to another uprocessor

Dependencies:   BufferedSerial SDFileSystem mbed

Fork of SDFileSystem_HelloWorld by mbed official

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?

UserRevisionLine numberNew 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