nkjnm
Dependencies: MAX44000 nexpaq_mdk
Fork of LED_Demo by
main.cpp
00001 #include "mbed.h" 00002 #include "SDFileSystem.h" 00003 00004 void led_blink(PinName led) 00005 { 00006 DigitalOut myled(led); 00007 00008 while (1) { 00009 myled = !myled; 00010 wait(1.0); 00011 } 00012 } 00013 00014 void notify_completion(bool success) 00015 { 00016 if (success) 00017 printf("{success}\n"); 00018 else 00019 printf("{failure}\n"); 00020 00021 printf("{end}\n"); 00022 led_blink(success ? LED1 : LED4); 00023 } 00024 00025 #define TEST_STRING "Hello World!" 00026 00027 FILE *test_open(char *path, const char *mode) 00028 { 00029 FILE *f; 00030 00031 f = fopen(path, mode); 00032 if (f == NULL) { 00033 printf("Error opening file\n"); 00034 notify_completion(false); 00035 } 00036 00037 return f; 00038 } 00039 00040 void test_write(FILE *f, const char *str) 00041 { 00042 int n = fprintf(f, str); 00043 00044 if (n != strlen(str)) { 00045 printf("Error writing file\n"); 00046 notify_completion(false); 00047 } 00048 } 00049 00050 void test_close(FILE *f) 00051 { 00052 int rc = fclose(f); 00053 00054 if (rc != 0) { 00055 printf("Error closing file\n"); 00056 notify_completion(false); 00057 } 00058 } 00059 00060 DigitalOut led2(LED2); 00061 00062 int main() 00063 { 00064 #if defined(TARGET_KL25Z) 00065 SDFileSystem sd(PTD2, PTD3, PTD1, PTD0, "sd"); 00066 #elif defined(TARGET_nRF51822) 00067 //SDFileSystem sd(p20, p22, p25, p24, "sd"); 00068 SDFileSystem sd(p12, p13, p15, p14, "sd"); 00069 #elif defined(TARGET_NUCLEO_F030R8) || \ 00070 defined(TARGET_NUCLEO_F070RB) || \ 00071 defined(TARGET_NUCLEO_F072RB) || \ 00072 defined(TARGET_NUCLEO_F091RC) || \ 00073 defined(TARGET_NUCLEO_F103RB) || \ 00074 defined(TARGET_NUCLEO_F302R8) || \ 00075 defined(TARGET_NUCLEO_F303RE) || \ 00076 defined(TARGET_NUCLEO_F334R8) || \ 00077 defined(TARGET_NUCLEO_F401RE) || \ 00078 defined(TARGET_NUCLEO_F410RB) || \ 00079 defined(TARGET_NUCLEO_F411RE) || \ 00080 defined(TARGET_NUCLEO_L053R8) || \ 00081 defined(TARGET_NUCLEO_L073RZ) || \ 00082 defined(TARGET_NUCLEO_L152RE) 00083 SDFileSystem sd(D11, D12, D13, D10, "sd"); 00084 #elif defined(TARGET_LPC11U37H_401) 00085 SDFileSystem sd(SDMOSI, SDMISO, SDSCLK, SDSSEL, "sd"); 00086 #else 00087 SDFileSystem sd(p11, p12, p13, p14, "sd"); 00088 #endif 00089 led2 = 1; 00090 wait(0.5); 00091 FILE *f; 00092 char *str = TEST_STRING; 00093 char *buffer = (char *)malloc(sizeof(unsigned char) * strlen(TEST_STRING)); 00094 int str_len = strlen(TEST_STRING); 00095 00096 printf("Write files\n"); 00097 char filename[32]; 00098 for (int i = 0; i < 10; i++) { 00099 sprintf(filename, "/sd/test_%d.txt", i); 00100 printf("Creating file: %s\n", filename); 00101 f = test_open(filename, "w"); 00102 led2 = 0; 00103 test_write(f, str); 00104 test_close(f); 00105 } 00106 00107 printf("List files:\n"); 00108 DIR *d = opendir("/sd"); 00109 if (d == NULL) { 00110 printf("Error opening directory\n"); 00111 notify_completion(false); 00112 } 00113 00114 struct dirent *p; 00115 while ((p = readdir(d)) != NULL) 00116 printf("%s\n", p->d_name); 00117 closedir(d); 00118 00119 notify_completion(true); 00120 }
Generated on Tue Jul 12 2022 17:03:47 by
1.7.2
