SD card file helloworld demo using new mbed RTOS ver 5 file driver setup. Pins setup for LPC1768 - read comment in code about project's json file requirements for adding the SD filesystem driver

SD card r/w demo for mbed OS version 5 on LPC1768.

File drivers are added in json file with "target.components_add": ["SD"] for use in most recent OS 5 version.

Test messages are sent to serial port with printf's.

Committer:
4180_1
Date:
Tue Sep 24 17:32:01 2019 +0000
Revision:
1:3a59eb72e0cf
Parent:
0:3588d7473dce
Child:
2:21d14147254e
ver 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:3588d7473dce 1 #include "mbed.h"
4180_1 1:3a59eb72e0cf 2 // NOTE: Need "target.components_add": ["SD"] in json project file!
4180_1 1:3a59eb72e0cf 3 // This adds the filesystem driver below for SD cards in a project
4180_1 0:3588d7473dce 4 #include "SDBlockDevice.h"
4180_1 0:3588d7473dce 5 #include "FATFileSystem.h"
4180_1 1:3a59eb72e0cf 6 Serial pc(USBTX,USBRX); //change for your mbed serial port
4180_1 0:3588d7473dce 7 SDBlockDevice sd(p5, p6, p7, p8);
4180_1 0:3588d7473dce 8 FATFileSystem fs("SD");
4180_1 1:3a59eb72e0cf 9 char filereadchar=0;
4180_1 1:3a59eb72e0cf 10
4180_1 1:3a59eb72e0cf 11 int main()
4180_1 1:3a59eb72e0cf 12 {
4180_1 0:3588d7473dce 13 sd.init();
4180_1 0:3588d7473dce 14 fs.mount(&sd);
4180_1 1:3a59eb72e0cf 15 // open and write a message in a new file
4180_1 1:3a59eb72e0cf 16 FILE* fw = fopen("/SD/hi.txt", "w");
4180_1 1:3a59eb72e0cf 17 if(fw == NULL) {
4180_1 1:3a59eb72e0cf 18 error("Could not open new file for write\n\r");
4180_1 1:3a59eb72e0cf 19 }
4180_1 1:3a59eb72e0cf 20 printf("Writing to SD file: hello SD Card!\n\r");
4180_1 1:3a59eb72e0cf 21 fprintf(fw, "hello SD card!\n\r");
4180_1 1:3a59eb72e0cf 22 fclose(fw);
4180_1 1:3a59eb72e0cf 23 printf("\nFile closed for write\n\n\r");
4180_1 1:3a59eb72e0cf 24 // open and read back file characters to serial for test
4180_1 1:3a59eb72e0cf 25 FILE* fr = fopen("/SD/hi.txt", "r");
4180_1 1:3a59eb72e0cf 26 if(fr == NULL) {
4180_1 1:3a59eb72e0cf 27 error("Could not open new file for read\n\r");
4180_1 1:3a59eb72e0cf 28 }
4180_1 1:3a59eb72e0cf 29 printf("Reading back from new file: ");
4180_1 1:3a59eb72e0cf 30 while(fscanf(fr,"%c",&filereadchar) == 1) {
4180_1 1:3a59eb72e0cf 31 printf("\%s",&filereadchar);
4180_1 1:3a59eb72e0cf 32 }
4180_1 1:3a59eb72e0cf 33 fclose(fr);
4180_1 0:3588d7473dce 34 sd.deinit();
4180_1 0:3588d7473dce 35 fs.unmount();
4180_1 1:3a59eb72e0cf 36 printf("\nSD demo complete\n\r");
4180_1 0:3588d7473dce 37 }