Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed mpu9250_i2c IM920 BMP180 GPS millis
main.cpp
- Committer:
- ryood
- Date:
- 2016-11-22
- Revision:
- 2:3f286265fade
- Parent:
- 1:690378b5f48a
- Child:
- 3:3ce322ac8193
File content as of revision 2:3f286265fade:
/*
* SDFileSystem Binary R/W Test
*
* Library
* SDFileSystem: https://developer.mbed.org/users/neilt6/code/SDFileSystem/ Revision:26
* mbed: Revision: 124
* mbed-rtos: Revision: 117
*
* 2016.11.22 created
*
*/
#include "mbed.h"
#include "rtos.h"
#include "SDFileSystem.h"
SPI Spi(PC_12, PC_11, PC_10); // SPI3: mosi, miso, sclk
typedef struct {
uint8_t x;
uint8_t y;
uint8_t z;
} DataT;
void writeSD(DataT* data)
{
SDFileSystem sd(PC_12, PC_11, PC_10, PA_14, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000); // SPI3: mosi, miso, sclk, cs
//Mount the filesystem
sd.mount();
//Perform a write test
printf("\nWriting binary data to SD card...");
FileHandle* file = sd.open("Test File.bin", O_WRONLY | O_CREAT | O_TRUNC);
if (file != NULL)
{
if (file->write(data, sizeof(*data)) != sizeof(*data))
{
error("write error!\n");
}
if (file->close())
{
printf("failed to close file!\n");
}
else
{
printf("done!\n");
}
}
else
{
printf("failed to create file!\n");
}
//Unmount the filesystem
sd.unmount();
}
void readSD(DataT* data)
{
SDFileSystem sd(PC_12, PC_11, PC_10, PA_14, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000); // SPI3: mosi, miso, sclk, cs
//Mount the filesystem
sd.mount();
//Perform a read test
printf("\nReading binary data from SD card...");
FileHandle* file = sd.open("Test File.bin", O_RDONLY);
if (file != NULL)
{
if (file->read(data, sizeof(*data)) != sizeof(*data))
{
error("read error!\n");
}
if (file->close())
{
printf("failed to close file!\n");
}
else
{
printf("done!\n");
}
}
else
{
printf("failed to open file!\n");
}
//Unmount the filesystem
sd.unmount();
}
int main()
{
DataT data, rdata;
data.x = 0xff;
data.y = 0x55;
data.z = 0xaa;
writeSD(&data);
readSD(&rdata);
printf("data: x:%02x y:%02x z:%02x\n", rdata.x, rdata.y, rdata.z);
}