JPA
sdcardJPA.cpp@2:72435639e4e7, 2020-08-31 (annotated)
- 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?
User | Revision | Line number | New 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 |