Skip to content

File SDMMC_HelloWorld.cpp

File List > examples > SDMMC_HelloWorld > SDMMC_HelloWorld.cpp

Go to the documentation of this file

Source Code

#include "daisy_seed.h"

#include "fatfs.h"

using namespace daisy;

DaisySeed hw;

SdmmcHandler sdmmc;
FatFSInterface fsi;
FIL file;


int main(void)
{
    hw.Init();

    SdmmcHandler::Config sd_cfg;
    sd_cfg.speed = SdmmcHandler::Speed::STANDARD;
    sdmmc.Init(sd_cfg);

    FatFSInterface::Config fsi_config;
    fsi_config.media = FatFSInterface::Config::MEDIA_SD;
    fsi.Init(fsi_config);

    FATFS& fs = fsi.GetSDFileSystem();

    FRESULT res = FR_NO_FILESYSTEM;

    if(f_mount(&fs, "/", 0) == FR_OK)
    {
        if(f_open(&file, "helloworld.txt", (FA_CREATE_ALWAYS | FA_WRITE))
           == FR_OK)
        {
            FixedCapStr<20> str = "Hello World!";
            UINT            bytes_written;
            res = f_write(&file, str.Cstr(), str.Size(), &bytes_written);
            f_close(&file);
        }
    }


    while(1)
    {
        uint32_t blink_rate;
        if(res == FR_OK)
            blink_rate = 125;
        else
            blink_rate = 1000;
        System::Delay(blink_rate);
        hw.SetLed(true);
        System::Delay(blink_rate);
        hw.SetLed(false);
    }
}