mbedでSDカード操作


mbedでFlashAir操作を行う練習として、mbedでSDカード操作の実験。

とりあえず、以下のパーツを準備。

 ・mbed NXP LPC1768
 ・SDカードスロットDIP化モジュール
 ・FlashAir 16GB CLASS10

SDカードスロットDIP化モジュールは秋月で売ってるこれを利用

1.配線

モジュールについてはここを参考に配線する

  VCC <-->  Vout
  GND <-->  GND
  SDI <-->  P5
  SDO <-->  P6
  CLK <-->  P7
  CS  <-->  P8

意外にシンプルな配線で済む

2.プログラム

1.SDカード用のライブラリ:SDFileSystemをインポートする。

2.次にmain.cppの作成

#include "mbed.h"
#include "SDFileSystem.h"

SDFileSystem sd(p5, p6, p7, p8, "sd"); 

int main() {
    printf("START!\n");   

    mkdir("/sd/example", 0777);

    FILE *fp = fopen("/sd/example/test.txt", "w");
    if(fp == NULL) {
        error("Could not open file for write\n");
    }
    fprintf(fp, "Hello World!");
    fclose(fp);
    printf("END\n");
}

3.実行

mbedにプログラムを配置して実行すれば、ファイルができていることが確認できると思います。

FlashAirなので、次はiSDIOを拡張してSDカードでインターネット接続に挑戦します。