pls work
Dependencies: mbed WS2813 PixelArray SDFileSystem ds3231
Fork of SDFileSystem_HelloWorld by
Diff: main.cpp
- Revision:
- 26:dcced86ba984
- Parent:
- 20:ec1c4f02d50e
- Child:
- 27:2b989633a518
--- a/main.cpp Mon Aug 29 15:06:56 2016 +0000 +++ b/main.cpp Thu Aug 02 14:42:56 2018 +0000 @@ -2,58 +2,62 @@ #include "SDFileSystem.h" Timer timer; -DigitalIn button(p21, PullUp); -SDFileSystem sd(p5, p6, p7, p20, "sd", p22, SDFileSystem::SWITCH_NEG_NO, 25000000); +//DigitalIn button(p21, PullUp); +SDFileSystem sd(PC_12,PC_11,PC_10,PA_15, "sd", NC, SDFileSystem::SWITCH_NONE, 400000); +RawSerial pc(PA_9,PA_10); char buffer[4096]; void writeTest() { //Test write performance by creating a 1MB file - printf("Testing %iB write performance...", sizeof(buffer)); - FileHandle* file = sd.open("Test File.bin", O_WRONLY | O_CREAT | O_TRUNC); + pc.printf("Testing %iB write performance...", sizeof(buffer)); + FileHandle* file = sd.open("Test_File.bin", O_WRONLY | O_CREAT); + pc.printf("whatever u want\n"); if (file != NULL) { timer.start(); for (int i = 0; i < (1048576 / sizeof(buffer)); i++) { + pc.printf("%d\n",i); if (file->write(buffer, sizeof(buffer)) != sizeof(buffer)) { timer.stop(); - printf("write error!\n"); + pc.printf("write error!\n"); timer.reset(); return; } } timer.stop(); if (file->close()) - printf("failed to close file!\n"); + pc.printf("failed to close file!\n"); else - printf("done!\n\tResult: %.2fKB/s\n", 1024 / (timer.read_us() / 1000000.0)); + pc.printf("done!\n\tResult: %.2fKB/s\n", 1024 / (timer.read_us() / 1000000.0)); timer.reset(); } else { - printf("failed to create file!\n"); + pc.printf("failed to create file!\n"); } } void readTest() { //Test read performance by reading the 1MB file created by writeTest() - printf("Testing %iB read performance...", sizeof(buffer)); + pc.printf("Testing %iB read performance...", sizeof(buffer)); FileHandle* file = sd.open("Test File.bin", O_RDONLY); if (file != NULL) { timer.start(); int iterations = 0; - while (file->read(buffer, sizeof(buffer)) == sizeof(buffer)) + while (file->read(buffer, sizeof(buffer)) == sizeof(buffer)){ iterations++; + pc.printf("%d\n",iterations);} timer.stop(); if (iterations != (1048576 / sizeof(buffer))) - printf("read error!\n"); + pc.printf("read error!\n"); else if (file->close()) - printf("failed to close file!\n"); + pc.printf("failed to close file!\n"); else if (sd.remove("Test File.bin")) - printf("failed to delete file!\n"); + pc.printf("failed to delete file!\n"); else - printf("done!\n\tResult: %.2fKB/s\n", 1024 / (timer.read_us() / 1000000.0)); + pc.printf("done!\n\tResult: %.2fKB/s\n", 1024 / (timer.read_us() / 1000000.0)); timer.reset(); } else { - printf("failed to open file!\n"); + pc.printf("failed to open file!\n"); } } @@ -64,60 +68,64 @@ sd.large_frames(true); sd.write_validation(true); + pc.baud(115200); + pc.format(8, SerialBase::None, 1); + pc.printf("pls work"); //Fill the buffer with random data for the write test - srand(time(NULL)); - for (int i = 0; i < sizeof(buffer); i++) + //srand(time(NULL)); + for (int i = 0; i < sizeof(buffer); i++){ buffer[i] = rand(); + pc.printf("pls work %d\n",i);} while(1) { //Simple button debouncing wait(0.5); //Print the start message - printf("\nPress the button to perform tests: "); + pc.printf("\nPress the button to perform tests: "); //Wait for the button to be pressed - while(button); + //while(button); //Make sure a card is present if (!sd.card_present()) { - printf("\nNo card present!\n"); + pc.printf("\nNo card present!\n"); continue; } //Try to mount the SD card - printf("\nMounting SD card..."); + pc.printf("\nMounting SD card..."); if (sd.mount() != 0) { - printf("failed!\n"); + pc.printf("failed!\n"); continue; } - printf("success!\n"); + pc.printf("success!\n"); //Display the card type - printf("\tCard type: "); + pc.printf("\tCard type: "); SDFileSystem::CardType cardType = sd.card_type(); if (cardType == SDFileSystem::CARD_NONE) - printf("None\n"); + pc.printf("None\n"); else if (cardType == SDFileSystem::CARD_MMC) - printf("MMC\n"); + pc.printf("MMC\n"); else if (cardType == SDFileSystem::CARD_SD) - printf("SD\n"); + pc.printf("SD\n"); else if (cardType == SDFileSystem::CARD_SDHC) - printf("SDHC\n"); + pc.printf("SDHC\n"); else - printf("Unknown\n"); + pc.printf("Unknown\n"); //Display the card capacity - printf("\tSectors: %u\n", sd.disk_sectors()); - printf("\tCapacity: %.1fMB\n", sd.disk_sectors() / 2048.0); + pc.printf("\tSectors: %u\n", sd.disk_sectors()); + pc.printf("\tCapacity: %.1fMB\n", sd.disk_sectors() / 2048.0); /*//Format the card - printf("Formatting SD card..."); + pc.printf("Formatting SD card..."); if (sd.format() != 0) { - printf("failed!\n"); + pc.printf("failed!\n"); continue; } - printf("success!\n");*/ + pc.printf("success!\n");*/ //Perform a read/write test writeTest();