Add SD card example for Black F407VE
This commit is contained in:
parent
fee81d692a
commit
69b588328e
|
@ -0,0 +1,68 @@
|
|||
// 1. Install SdFat-beta from https://github.com/greiman/SdFat-beta
|
||||
// 2. In SdFatConfig.h, Change ENABLE_SDIO_CLASS 0 to 1
|
||||
|
||||
|
||||
#include "Arduino.h"
|
||||
#include "SDIO.h"
|
||||
#include "STM32SdFatSdio.h"
|
||||
|
||||
STM32SdFatSdio sd;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
for(int i=0; i<5; i++) {
|
||||
delay(1000);
|
||||
Serial.print(".");
|
||||
}
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println("Starting");
|
||||
delay(1000);
|
||||
|
||||
if (!sd.begin()) {
|
||||
Serial.println("Card error");
|
||||
return;
|
||||
}
|
||||
|
||||
///////////////
|
||||
|
||||
Serial.println("LS:");
|
||||
sd.ls(LS_R | LS_DATE | LS_SIZE);
|
||||
|
||||
///////////////
|
||||
|
||||
File file;
|
||||
|
||||
Serial.println("Writing:");
|
||||
file = sd.open("test.txt", FILE_WRITE);
|
||||
if (file) {
|
||||
file.print("Testing write\n");
|
||||
file.close();
|
||||
} else {
|
||||
Serial.print("Error opening file");
|
||||
}
|
||||
|
||||
///////////////
|
||||
|
||||
Serial.println("Reading:");
|
||||
file = sd.open("test.txt");
|
||||
if (file) {
|
||||
while (file.available()) {
|
||||
Serial.write(file.read());
|
||||
}
|
||||
file.close();
|
||||
} else {
|
||||
Serial.print("Error opening file");
|
||||
}
|
||||
|
||||
///////////////
|
||||
|
||||
for(int i=0; i<5; i++) {
|
||||
delay(1000);
|
||||
Serial.print(".");
|
||||
}
|
||||
Serial.println();
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
#ifndef _STM32_SDFAT_H_INCLUDED
|
||||
#define _STM32_SDFAT_H_INCLUDED
|
||||
|
||||
#include "SdFat.h"
|
||||
#include "SDIO.h"
|
||||
|
||||
|
||||
class Stm32SdioCard : public BaseBlockDriver {
|
||||
public:
|
||||
bool begin() {
|
||||
return sdio.begin();
|
||||
}
|
||||
bool syncBlocks() {
|
||||
return true;
|
||||
}
|
||||
bool readBlock(uint32_t block, uint8_t* dst) {
|
||||
return sdio.readBlocks(block, dst, 1);
|
||||
};
|
||||
bool writeBlock(uint32_t block, const uint8_t* src) {
|
||||
return sdio.writeBlocks(block, src, 1);
|
||||
};
|
||||
bool readBlocks(uint32_t block, uint8_t* dst, size_t nb) {
|
||||
return sdio.readBlocks(block, dst, nb);
|
||||
};
|
||||
bool writeBlocks(uint32_t block, const uint8_t* src, size_t nb) {
|
||||
return sdio.writeBlocks(block, src, nb);
|
||||
};
|
||||
private:
|
||||
SDIOClass sdio;
|
||||
};
|
||||
class STM32SdFatSdio : public SdFileSystem<Stm32SdioCard> {
|
||||
public:
|
||||
bool begin() {
|
||||
return m_card.begin() && SdFileSystem::begin();
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue