I tried SD card Read Write test. Result is success.
Dependencies: SDFileSystem mbed
/media/uploads/ImageWriter/img_4903.jpg I tried SD card read/write test.
I use Nucleo-F411RE and Aitendo's 2.2inch TFT display with SD card interface.
http://www.aitendo.com/product/7277
This test is not use TFT display. Only use SD card interface.
Micro SD adaptor type.
main.cpp@0:96613601cfb9, 2015-04-17 (annotated)
- Committer:
- ImageWriter
- Date:
- Fri Apr 17 13:26:24 2015 +0000
- Revision:
- 0:96613601cfb9
SDCard Read Write test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ImageWriter | 0:96613601cfb9 | 1 | #include "mbed.h" |
ImageWriter | 0:96613601cfb9 | 2 | #include "SDFileSystem.h" |
ImageWriter | 0:96613601cfb9 | 3 | |
ImageWriter | 0:96613601cfb9 | 4 | |
ImageWriter | 0:96613601cfb9 | 5 | //Create an SDFileSystem object |
ImageWriter | 0:96613601cfb9 | 6 | //SDFileSystem sd(PA_7, PA_6, PA_5, PA_15, "sd");// MOSI, MISO, SCK, CS |
ImageWriter | 0:96613601cfb9 | 7 | SDFileSystem sd(D11, D12, D13, D10, "sd");// MOSI, MISO, SCK, CS |
ImageWriter | 0:96613601cfb9 | 8 | Serial pc(USBTX, USBRX); |
ImageWriter | 0:96613601cfb9 | 9 | |
ImageWriter | 0:96613601cfb9 | 10 | int main() { |
ImageWriter | 0:96613601cfb9 | 11 | // pc.baud(19200); |
ImageWriter | 0:96613601cfb9 | 12 | pc.baud(9600); |
ImageWriter | 0:96613601cfb9 | 13 | for(int i=5; i>0; i--) |
ImageWriter | 0:96613601cfb9 | 14 | { |
ImageWriter | 0:96613601cfb9 | 15 | pc.printf("Wait %i seconds..\r\n",i); |
ImageWriter | 0:96613601cfb9 | 16 | wait(1); |
ImageWriter | 0:96613601cfb9 | 17 | } |
ImageWriter | 0:96613601cfb9 | 18 | pc.printf("Initializing\r\n"); |
ImageWriter | 0:96613601cfb9 | 19 | |
ImageWriter | 0:96613601cfb9 | 20 | //Mount the filesystem |
ImageWriter | 0:96613601cfb9 | 21 | |
ImageWriter | 0:96613601cfb9 | 22 | // sd.mount(); |
ImageWriter | 0:96613601cfb9 | 23 | |
ImageWriter | 0:96613601cfb9 | 24 | //Perform a write test |
ImageWriter | 0:96613601cfb9 | 25 | pc.printf("\nWriting to SD card..."); |
ImageWriter | 0:96613601cfb9 | 26 | FILE *fp = fopen("/sd/sdtest.txt", "a+"); |
ImageWriter | 0:96613601cfb9 | 27 | |
ImageWriter | 0:96613601cfb9 | 28 | wait(2); |
ImageWriter | 0:96613601cfb9 | 29 | if (fp != NULL) { |
ImageWriter | 0:96613601cfb9 | 30 | fprintf(fp, "We're writing to an SD card!"); |
ImageWriter | 0:96613601cfb9 | 31 | fclose(fp); |
ImageWriter | 0:96613601cfb9 | 32 | pc.printf("success!\n"); |
ImageWriter | 0:96613601cfb9 | 33 | } else { |
ImageWriter | 0:96613601cfb9 | 34 | pc.printf("failed!\n"); |
ImageWriter | 0:96613601cfb9 | 35 | } |
ImageWriter | 0:96613601cfb9 | 36 | |
ImageWriter | 0:96613601cfb9 | 37 | //Perform a read test |
ImageWriter | 0:96613601cfb9 | 38 | pc.printf("Reading from SD card..."); |
ImageWriter | 0:96613601cfb9 | 39 | fp = fopen("/sd/sdtest.txt", "r"); |
ImageWriter | 0:96613601cfb9 | 40 | if (fp != NULL) { |
ImageWriter | 0:96613601cfb9 | 41 | char c = fgetc(fp); |
ImageWriter | 0:96613601cfb9 | 42 | if (c == 'W') |
ImageWriter | 0:96613601cfb9 | 43 | pc.printf("success!\n"); |
ImageWriter | 0:96613601cfb9 | 44 | else |
ImageWriter | 0:96613601cfb9 | 45 | pc.printf("incorrect char (%c)!\n", c); |
ImageWriter | 0:96613601cfb9 | 46 | fclose(fp); |
ImageWriter | 0:96613601cfb9 | 47 | } else { |
ImageWriter | 0:96613601cfb9 | 48 | pc.printf("failed!\n"); |
ImageWriter | 0:96613601cfb9 | 49 | } |
ImageWriter | 0:96613601cfb9 | 50 | |
ImageWriter | 0:96613601cfb9 | 51 | //Unmount the filesystem |
ImageWriter | 0:96613601cfb9 | 52 | // sd.unmount(); |
ImageWriter | 0:96613601cfb9 | 53 | } |