SD card
Dependencies: ELEC350-Practicals-FZ429
Fork of Task680solution-mbed-os-FZ429ZI by
main.cpp
- Committer:
- rubbehducky
- Date:
- 2018-01-07
- Revision:
- 5:e7670d83e6b2
- Parent:
- 4:958cfd74ef1c
File content as of revision 5:e7670d83e6b2:
/* Access an SD Card using SPI */ #include "mbed.h" #include "SDBlockDevice.h" #include "FATFileSystem.h" #include "sample_hardware.hpp" //SD Card Object SDBlockDevice sd(D11, D12, D13, D10); // mosi, miso, sclk, cs // DATA TYPE int main() { printf("Initialise\n"); //FileSystemLike(*sd); // call the SDBlockDevice instance initialisation method. (not needed) if ( sd.init() != 0) { printf("Init failed \n"); errorCode(FATAL); } //Create a filing system for SD Card FATFileSystem fs("sd", &sd); // ************ // Open to READ // ************ printf("Read a file\n"); FILE* fp = fopen("/sd/test.txt","r"); if (fp == NULL) { error("Could not open file for read\n"); errorCode(FATAL); } //Read back all strings char s1[64]; while (fscanf(fp, "%s", s1) == 1) { fgets(s1, sizeof(s1), fp); } //To read a whole line, use: fgets(s1, sizeof(s1), fp); //Close File fclose(fp); //Close down sd.deinit(); printf("All done...\n"); errorCode(OK); //Flash to indicate goodness while(true) { greenLED = 1; wait(0.5); greenLED = 0; wait(0.1); } } /* printf("sd size: %llu\n", sd.size()); printf("sd read size: %llu\n", sd.get_read_size()); printf("sd program size: %llu\n", sd.get_program_size()); printf("sd erase size: %llu\n", sd.get_erase_size()); // set the frequency if ( 0 != sd.frequency(5000000)) { printf("Error setting frequency \n"); } if ( 0 != sd.erase(0, sd.get_erase_size())) { printf("Error Erasing block \n"); } // Write some the data block to the device if ( 0 == sd.program(block, 0, 512)) { // read the data block from the device if ( 0 == sd.read(block, 0, 512)) { // print the contents of the block printf("%s", block); } } // call the SDBlockDevice instance de-initialisation method. sd.deinit(); */