library for IZU2022

Dependencies:   mbed mpu9250_i2c IM920 BMP180 GPS millis

Dependents:   IZU2022

Committer:
ryood
Date:
Tue Nov 22 07:41:45 2016 +0000
Revision:
1:690378b5f48a
Parent:
0:effffaacd967
Child:
2:3f286265fade
Change Pins to SPI3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:effffaacd967 1 /*
ryood 0:effffaacd967 2 * SDFileSystem Binary R/W Test
ryood 0:effffaacd967 3 *
ryood 0:effffaacd967 4 * Library
ryood 0:effffaacd967 5 * SDFileSystem: https://developer.mbed.org/users/neilt6/code/SDFileSystem/ Revision:26
ryood 0:effffaacd967 6 * mbed: Revision: 124
ryood 0:effffaacd967 7 *
ryood 0:effffaacd967 8 * 2016.11.22 created
ryood 0:effffaacd967 9 *
ryood 0:effffaacd967 10 */
ryood 0:effffaacd967 11
ryood 0:effffaacd967 12 #include "mbed.h"
ryood 0:effffaacd967 13 #include "SDFileSystem.h"
ryood 0:effffaacd967 14
ryood 1:690378b5f48a 15 //SDFileSystem sd(D11, D12, D13, D10, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000); // mosi, miso, sclk, cs
ryood 1:690378b5f48a 16 SDFileSystem sd(PC_12, PC_11, PC_10, PA_14, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000); // SPI3
ryood 0:effffaacd967 17
ryood 0:effffaacd967 18 struct {
ryood 0:effffaacd967 19 uint8_t x;
ryood 0:effffaacd967 20 uint8_t y;
ryood 0:effffaacd967 21 uint8_t z;
ryood 0:effffaacd967 22 } data, rdata;
ryood 0:effffaacd967 23
ryood 0:effffaacd967 24 int main()
ryood 0:effffaacd967 25 {
ryood 0:effffaacd967 26 FileHandle* file;
ryood 0:effffaacd967 27
ryood 0:effffaacd967 28 data.x = 0xff;
ryood 0:effffaacd967 29 data.y = 0x55;
ryood 0:effffaacd967 30 data.z = 0xaa;
ryood 0:effffaacd967 31
ryood 0:effffaacd967 32 //Mount the filesystem
ryood 0:effffaacd967 33 sd.mount();
ryood 0:effffaacd967 34
ryood 0:effffaacd967 35 //Perform a write test
ryood 0:effffaacd967 36 printf("\nWriting binary data to SD card...");
ryood 0:effffaacd967 37 file = sd.open("Test File.bin", O_WRONLY | O_CREAT | O_TRUNC);
ryood 0:effffaacd967 38 if (file != NULL)
ryood 0:effffaacd967 39 {
ryood 0:effffaacd967 40 if (file->write(&data, sizeof(data)) != sizeof(data))
ryood 0:effffaacd967 41 {
ryood 0:effffaacd967 42 error("write error!\n");
ryood 0:effffaacd967 43 }
ryood 0:effffaacd967 44 if (file->close())
ryood 0:effffaacd967 45 {
ryood 0:effffaacd967 46 printf("failed to close file!\n");
ryood 0:effffaacd967 47 }
ryood 0:effffaacd967 48 else
ryood 0:effffaacd967 49 {
ryood 0:effffaacd967 50 printf("done!\n");
ryood 0:effffaacd967 51 }
ryood 0:effffaacd967 52 }
ryood 0:effffaacd967 53 else
ryood 0:effffaacd967 54 {
ryood 0:effffaacd967 55 printf("failed to create file!\n");
ryood 0:effffaacd967 56 }
ryood 0:effffaacd967 57
ryood 0:effffaacd967 58 //Perform a read test
ryood 0:effffaacd967 59 printf("\nReading binary data from SD card...");
ryood 0:effffaacd967 60 file = sd.open("Test File.bin", O_RDONLY);
ryood 0:effffaacd967 61 if (file != NULL)
ryood 0:effffaacd967 62 {
ryood 0:effffaacd967 63 if (file->read(&rdata, sizeof(rdata)) != sizeof(rdata))
ryood 0:effffaacd967 64 {
ryood 0:effffaacd967 65 error("read error!\n");
ryood 0:effffaacd967 66 }
ryood 0:effffaacd967 67 if (file->close())
ryood 0:effffaacd967 68 {
ryood 0:effffaacd967 69 printf("failed to close file!\n");
ryood 0:effffaacd967 70 }
ryood 0:effffaacd967 71 else
ryood 0:effffaacd967 72 {
ryood 0:effffaacd967 73 printf("done! x:%02x y:%02x z:%02x\n", rdata.x, rdata.y, rdata.z);
ryood 0:effffaacd967 74 }
ryood 0:effffaacd967 75 }
ryood 0:effffaacd967 76 else
ryood 0:effffaacd967 77 {
ryood 0:effffaacd967 78 printf("failed to open file!\n");
ryood 0:effffaacd967 79 }
ryood 0:effffaacd967 80
ryood 0:effffaacd967 81 //Unmount the filesystem
ryood 0:effffaacd967 82 sd.unmount();
ryood 0:effffaacd967 83 }