Skip to content

daisy::SdmmcHandler

Module: LIBDAISY / PERIPHERAL

More...

#include <sdmmc.h>

Public Classes

Name
struct Config

Public Types

Name
enum class Result
enum class BusWidth
enum class Speed

Public Functions

Name
SdmmcHandler()
~SdmmcHandler()
Result Init(const Config & cfg)

Detailed Description

class daisy::SdmmcHandler;

Configuration for interfacing with SD cards. Currently only supports operation using FatFS filesystem

Only SDMMC1 is supported at this time.

Pins are fixed to the following: PC12 - SDMMC1 CK PD2 - SDMMC1 CMD PC8 - SDMMC1 D0 PC9 - SDMMC1 D1 (optional) PC10 - SDMMC1 D2 (optional) PC11 - SDMMC1 D3 (optional)

Public Types Documentation

enum Result

Enumerator Value Description
OK
ERROR

Return values for the SdmmcHandler class

enum BusWidth

Enumerator Value Description
BITS_1 Only 1 bit of data per clock is transferred
BITS_4 4-bits of parallel data for each clock pulse

Sets whether 4-bit mode or 1-bit mode is used for the SDMMC

enum Speed

Enumerator Value Description
SLOW 400kHz, initialization performed at this rate, before moving to user value
MEDIUM_SLOW 12.5MHz - half of standard rate
STANDARD 25MHz - DS (Default Speed for SDMMC)
FAST 50MHz - HS (High Speed signaling)
VERY_FAST 100MHz - SDR50 Overclocked rate for maximum transfer rates

Sets the desired clock speed of the SD card bus.

Initialization is always done at or below 400kHz, and then the user speed is set.

Public Functions Documentation

function SdmmcHandler

inline SdmmcHandler()

function ~SdmmcHandler

inline ~SdmmcHandler()

function Init

Result Init(
    const Config & cfg
)

Configures the SDMMC Peripheral with the user defined settings. Initialization does not happen immediatly and will be called by the filesystem (i.e. FatFS).

---

Updated on 2024-01-03 at 19:41:01 +0000