SDFileSystem - SDメモリカード
SD Card File System - SDメモリカード
http://mbed.org/handbook/SDFileSystem
SPIインターフェースへ接続したSDメモリーカードのファイルを操作する。
実際にはMMC(マルチメディアカード)として制御している。
SDメモリーカードを扱うためには、いくつかのライブラリを選択できる。
Import librarySDFileSystem
SDFileSystem
- SDFileSystem
- ChaNFSSD - ChaN氏のFatFsをベースにしFAT32やロングファイルネーム対応、SDFileSystem互換
blockdiagram
+--------+ | |VOUT---+ ,--------+ | | +-[47k]-----DAT2|9 | | p8|CS-----|-------------CS|1 | | p5|MOSI---|------------CMD|2 | | | | +---VSS1|3 SD | | mbed | +-------|----VDD|4 memory| | p7|SCK----|-------|----CLK|5 card | | | | +---VSS2|6 | | p6|MISO---|-------|---DAT0|7 | | | +-[47k]-|---DAT1|8 | | |GND------------+ +--------+ +--------+
Import programSDFileSystem_HelloWorld
SD File System Hello World
初期化
SDFileSystem name(mosi, miso, sck, cs, mount);
name:任意の名前
mosi: MOSIピン
miso: MISOピン
sck: SCKピン
cs: CSピン(デジタル出力)
mount:任意のマウントポイント
ファイル操作
C言語の fopen, fputc, fputs, fgets, fgets, fprintf, fscanf, fseek 等を参照。
例
#include "mbed.h" #include "SDFileSystem.h" SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board int main() { printf("Hello World!\n"); mkdir("/sd/mydir", 0777); FILE *fp = fopen("/sd/mydir/sdtest.txt", "w"); if(fp == NULL) { error("Could not open file for write\n"); } fprintf(fp, "Hello fun SD Card World!"); fclose(fp); printf("Goodbye World!\n"); }
備考
- FAT12 / FAT16 / FAT32
- SD / SDHC カード 32Gバイトまで
- ロングファイル名対応
- タイムスタンプ対応
2 comments on SDFileSystem - SDメモリカード:
Please log in to post comments.
blockdiagramのCDカード側のCDはCSの間違いではないでしょうか。 また、MISOとMOSIの接続は逆なのではと思います。 (当方の勘違いでしたらすみません)