JPA

Dependencies:   FATFileSystem

Committer:
38domo
Date:
Mon Aug 31 17:51:27 2020 +0000
Revision:
2:72435639e4e7
Child:
3:f76a96b18109
sd lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
38domo 2:72435639e4e7 1 #include "mbed.h"
38domo 2:72435639e4e7 2 #include "SDFileSystem.h"
38domo 2:72435639e4e7 3
38domo 2:72435639e4e7 4 //SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board
38domo 2:72435639e4e7 5 //SDFileSystem sd(PA_7, PA_6, PA_5, PD_15, "sd"); // mosi, miso, sclk, cs
38domo 2:72435639e4e7 6 SDFileSystem sd("sd"); // mosi, miso, sclk, cs
38domo 2:72435639e4e7 7 //gpio_init_structure.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12;
38domo 2:72435639e4e7 8
38domo 2:72435639e4e7 9 extern char gsStreamIPdatas[];
38domo 2:72435639e4e7 10 extern char ethernet_actif[] ;
38domo 2:72435639e4e7 11 extern char wifi_actif[];
38domo 2:72435639e4e7 12 extern char can_actif[];
38domo 2:72435639e4e7 13 extern char serial_actif[];
38domo 2:72435639e4e7 14 extern char read_sd[];
38domo 2:72435639e4e7 15
38domo 2:72435639e4e7 16 // routine lecture
38domo 2:72435639e4e7 17 void readline( char rp[], FILE fr[]) // readline SD line (text to displaay, file to read)
38domo 2:72435639e4e7 18 { // SD read -----------------------------
38domo 2:72435639e4e7 19 printf(rp);
38domo 2:72435639e4e7 20 int xxx = 0;
38domo 2:72435639e4e7 21 while (true)
38domo 2:72435639e4e7 22 { int chr = fgetc(fr);
38domo 2:72435639e4e7 23 if ((chr == EOF) || (chr == 10) || (chr == 13) ||(xxx > 30))
38domo 2:72435639e4e7 24 { if (xxx==0)
38domo 2:72435639e4e7 25 { // on passe au caractere suivant = ligne suivante
38domo 2:72435639e4e7 26 }
38domo 2:72435639e4e7 27 else
38domo 2:72435639e4e7 28 { break; // on sort
38domo 2:72435639e4e7 29 }
38domo 2:72435639e4e7 30 }
38domo 2:72435639e4e7 31 else
38domo 2:72435639e4e7 32 { read_sd[xxx]=chr;
38domo 2:72435639e4e7 33 xxx =xxx+1;
38domo 2:72435639e4e7 34 }
38domo 2:72435639e4e7 35 //printf("%c", chr);
38domo 2:72435639e4e7 36 }
38domo 2:72435639e4e7 37 printf(" %s\n",read_sd);
38domo 2:72435639e4e7 38 }
38domo 2:72435639e4e7 39
38domo 2:72435639e4e7 40 // ------------------------------------------------------------------------------------
38domo 2:72435639e4e7 41 int mainSDCardJPA() {
38domo 2:72435639e4e7 42 //printf("\r\nSD Text file write/read test: started\r\n\n");
38domo 2:72435639e4e7 43 sd.mount();
38domo 2:72435639e4e7 44 FILE *fp = fopen("/sd/WriteReadTest.txt", "w");
38domo 2:72435639e4e7 45 if (fp == NULL)
38domo 2:72435639e4e7 46 { fprintf(stderr, "Open error for writing!!\r\n");
38domo 2:72435639e4e7 47 while (true) {}
38domo 2:72435639e4e7 48 }
38domo 2:72435639e4e7 49 fprintf(fp, "Example of writing and reading of text file.\n");
38domo 2:72435639e4e7 50 fclose(fp);
38domo 2:72435639e4e7 51
38domo 2:72435639e4e7 52 // SD read --------------------------
38domo 2:72435639e4e7 53 //printf("IP to get datas from file IPdatas.txt : ");
38domo 2:72435639e4e7 54 fp = fopen("/sd/IPdatas.txt", "r");
38domo 2:72435639e4e7 55 if (fp == NULL)
38domo 2:72435639e4e7 56 { fprintf(stderr, "Open error for reading!!\r\n");
38domo 2:72435639e4e7 57 while (true) {}
38domo 2:72435639e4e7 58 }
38domo 2:72435639e4e7 59 //printf("String in read file is as follows:\r\n");
38domo 2:72435639e4e7 60 int x = 0;
38domo 2:72435639e4e7 61 printf("IPdatas : ");
38domo 2:72435639e4e7 62 while (true)
38domo 2:72435639e4e7 63 { int chr = fgetc(fp);
38domo 2:72435639e4e7 64 if ((chr == EOF) || (chr == 10) || (chr == 13) ||(x > 14))
38domo 2:72435639e4e7 65 { break;
38domo 2:72435639e4e7 66 }
38domo 2:72435639e4e7 67 gsStreamIPdatas[x]=chr;
38domo 2:72435639e4e7 68 x=x+1;
38domo 2:72435639e4e7 69 //printf("%c", chr);
38domo 2:72435639e4e7 70 }
38domo 2:72435639e4e7 71 printf(" %s\n",gsStreamIPdatas);
38domo 2:72435639e4e7 72
38domo 2:72435639e4e7 73 // SD read -----------------------------
38domo 2:72435639e4e7 74 readline( "Ethernet actif : ",fp);
38domo 2:72435639e4e7 75 ethernet_actif[0] = read_sd[0];
38domo 2:72435639e4e7 76 printf("Ethernet value saved %c\n", ethernet_actif[0]);
38domo 2:72435639e4e7 77
38domo 2:72435639e4e7 78 // SD read -----------------------------
38domo 2:72435639e4e7 79 readline( "WiFi actif : ",fp);
38domo 2:72435639e4e7 80 wifi_actif[0] = read_sd[0];
38domo 2:72435639e4e7 81 printf("Wifi value saved %c\n", wifi_actif[0]);
38domo 2:72435639e4e7 82
38domo 2:72435639e4e7 83 // SD read -----------------------------
38domo 2:72435639e4e7 84 readline( "Can actif : ",fp);
38domo 2:72435639e4e7 85 can_actif[0] = read_sd[0];
38domo 2:72435639e4e7 86 printf("Can value saved %c\n", can_actif[0]);
38domo 2:72435639e4e7 87
38domo 2:72435639e4e7 88 // SD read -----------------------------
38domo 2:72435639e4e7 89 readline( "Serial actif : ",fp);
38domo 2:72435639e4e7 90 serial_actif[0] = read_sd[0];
38domo 2:72435639e4e7 91 printf("Serial value saved %c\n", serial_actif[0]);
38domo 2:72435639e4e7 92
38domo 2:72435639e4e7 93 // --------------------------------
38domo 2:72435639e4e7 94 fclose(fp);
38domo 2:72435639e4e7 95 sd.unmount();
38domo 2:72435639e4e7 96 printf("\r\n SD Text file write/read : completed\r\n");
38domo 2:72435639e4e7 97 return 1;
38domo 2:72435639e4e7 98 }
38domo 2:72435639e4e7 99