在线时间4854 小时
UID3309825
ST金币0
蝴蝶豆17
注册时间2016-9-4
论坛元老
- 最后登录
- 2020-12-9
|
a0a.1 32b0c
前言:
SD卡被广泛用于存储设备如:手机,MP3播放器,
SD卡是存储大量非易失性数据非常便宜的选择(即断电,数据也不会丢失)。
是数据记录和存储音频/图像的理想选择。
SD和MMC卡,支持多种协议,但通常都是基于SPI协议。
它使用一个通用的SPI接口,
SD卡是块设备。以块大小(通常为512字节)的倍数读/写数据;
接口界面基本上是“从块地址n读”,“写块地址M”。
文件系统(如FAT)是在此之上的抽象
SDFileSystem是此例程的库文件允许SD卡以SPI接口类似文件系统读写 ,此库支持:FAT12 / FAT16 / FAT32
SD / SDHC cards up to 32Gb
long filenames
time stamp
本例程基于一个SparkFun的MicroSD卡模块,
(可以使用SPI端口以及任何DigitalOut)接线:
SparkFun MicroSD Breakout Board mbed 板
CS o--------------------------------------------o D6 (DigitalOut cs)
DI o--------------------------------------------o D4 (SPI mosi)
VCC o-------------------------------------------o VOUT
SCK o-------------------------------------------o D3 (SPI sclk)
GND o-------------------------------------------o GND
DO o-------------------------------------------o D5 (SPI miso)
CD o
移植前连接的是xbed LPC1768 sd(p5, p6, p7, p8, "sd");
SparkFun的MicroSD接口板
的MicroSD突围mbed
VCC引脚3.3V。不要使用5V。5V电源会损坏SD卡模块。
CD(卡检测)引脚是可选的,并且在本示例程序未使用。
CD连接到GND时,表示没有卡存在。一旦卡插入则与GND的连接断开。
它可使用DigitalIn pin读取,模式设置为上拉。
#include "mbed.h"
#include "SDFileSystem.h"
//SDHC support till 32GB
//SPI
SDFileSystem sd(D5, D6, D7, D8, "sd"); // the pinout on the mbed Cool Components workshop board
//xbed LPC1768 使用(p5, p6, p7, p8, "sd")
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");
}
参考
|
|