/*
SD卡测试
这个例子展示了如何使用实用程序库
sd库是基于获取您的SD卡的信息。
非常有用的测试卡,当你不确定它是否工作。
电路:
*附在SPI总线上的SD卡如下:
* MOSI引脚11上的Arduino Uno / Duemilanove /,
* MISO引脚12上的Arduino Uno / Duemilanove /,
* CLK引脚13上的Arduino Duemilanove /联合国/,
** -取决于您的SD卡屏蔽或模块。
4引脚用于与其他Arduino实例的一致性
创建28三月2011
Limor Fried
改性9 APR 2012
Tom Igoe
*/
// 库:包括SD
#include <SPI.h>
#include <SD.h> // 使用sd实用程序库函数设置变量:
Sd2Card card;
SdVolume volume;
SdFile root; // 改变这个匹配你的SD盾或模块;
// Arduino以太网盾: 4
// Adafruit SD盾和模块:10
// 和SD盾:8
const int chipSelect = ; void setup()
{
// 打开串行通信并等待端口打开
Serial.begin();
while (!Serial) {
; // 等待串口连接
} Serial.print("\nInitializing SD card...");//初始化SD卡 //我们将使用实用程序库中的初始化代码。
//因为我们只是在测试卡是否有效!
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");//初始化失败。需要检查的东西:
Serial.println("* is a card inserted?");//插卡了吗?
Serial.println("* is your wiring correct?");//你的线路正确吗?
Serial.println("* did you change the chipSelect pin to match your shield or module?");
//你改变ChipSelect引脚来匹配你的盾或模块?
return;
} else {
Serial.println("Wiring is correct and a card is present.");
//接线正确,并有一张卡片。
} // 打印的类型的卡
Serial.print("\nCard type: ");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Unknown");
} // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
//现在我们将尝试打开“音量”/ 'partition”应该是fat16和fat32
if (!volume.init(card)) {
Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
//无法找到FAT16/FAT32分区,NMAKE肯定你已经格式化卡
return;
} // print the type and size of the first FAT-type volume
//打印第一个脂肪类型的类型和大小。
uint32_t volumesize;
Serial.print("\nVolume type is FAT");//测定
Serial.println(volume.fatType(), DEC);
Serial.println(); volumesize = volume.blocksPerCluster(); //卷大小(字节): 集群是块的集合。
volumesize *= volume.clusterCount(); // 我们会有很多集群
volumesize *= ; //SD卡块总是512字节。
Serial.print("Volume size (bytes): ");//卷大小(字节):
Serial.println(volumesize);
Serial.print("Volume size (Kbytes): ");//卷的大小(字节):
volumesize /= ;
Serial.println(volumesize);
Serial.print("Volume size (Mbytes): ");//卷的大小(MB):
volumesize /= ;
Serial.println(volumesize); Serial.println("\nFiles found on the card (name, date and size in bytes): ");
//卡上找到的文件(名称、日期和大小为字节):
root.openRoot(volume); // 列出日期和大小的卡片中的所有文件
root.ls(LS_R | LS_DATE | LS_SIZE);
} void loop(void) { }

Arduino SD卡 列出文件的更多相关文章

  1. Android 读写SD卡的文件

    今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法: Environment.getExternalStorageState().equals(Env ...

  2. Android SD卡创建文件和文件夹失败

    原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网 ...

  3. 模拟器下的虚拟sd卡添加文件

    1.若出现mkdir failed for myData Read-only file system,在执行 adb shell 命令后,执行mount -o remount ,rw / (去除文件的 ...

  4. Android_(控件)使用ListView显示Android系统SD卡的文件列表_02

    使用ListView显示Android SD卡中的文件列表 父类布局activity_main.xml,子类布局item_filelayout(一个文件的单独存放) 运行截图: 程序结构 <?x ...

  5. Android_(控件)使用ListView显示Android系统中SD卡的文件列表

    使用ListView显示Android SD卡中的文件列表 父类布局activity_main.xml,子类布局line.xml(一个文件的单独存放) 运行截图: 程序结构: <?xml ver ...

  6. Android--手持PDA读取SD卡中文件

    近两年市场上很多Wince设备都开始转向Android操作系统,最近被迫使用Android开发PDA手持设备.主要功能是扫描登录,拣货,包装,发货几个功能.其中涉及到商品档的时候大概有700左右商品要 ...

  7. Android开发之SD卡上文件操作

    1. 得到存储设备的目录:/SDCARD(一般情况下) SDPATH=Environment.getExternalStorageDirectory()+"/"; 2. 判断SD卡 ...

  8. 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)

    新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...

  9. SD卡添加文件,添加不进去,报 Read-only file system错误

    android 模拟器手机如何添加文件到sd卡? 在DDMS中直接添加文件到模拟器sd卡如果出现错误类似:Failed to push XXXXX.txt on emulator- : Read-on ...

随机推荐

  1. Cookie和Seesion

    会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10 ...

  2. JavaEE XML的读写(利用JDom对XML文件进行读写)

    1.有关XML的写 利用JDom2包,JDom2这个包中,至少引入org.jdom2.*;如果要进行XML文件的写出,则要进行导入org.jdom2.output.*; package com.lit ...

  3. WordPress上传到互联网搭建

    1.建站流程: 1.购买域名 2.购买空间 3.解析绑定 4.上传安装 2.购买域名 域名的购买可以到相关域名出售的服务商那儿买,如阿里云,主机庙.这里就不做详细解释了 3.购买空间 域名的购买可以到 ...

  4. ST MCU_GPIO的八种工作模式详解。

    补充: N.P型的区别,就是一个为正电压启动(NMOS),一个为负电压启动(PMOS) GPIO的八种工作模式详解 浮空输入_IN_FLOATING带上拉输入_IPU带下拉输入_IPD模拟输入_AIN ...

  5. 『TensorFlow』读书笔记_进阶卷积神经网络_分类cifar10_上

    完整项目见:Github 完整项目中最终使用了ResNet进行分类,而卷积版本较本篇中结构为了提升训练效果也略有改动 本节主要介绍进阶的卷积神经网络设计相关,数据读入以及增强在下一节再与介绍 网络相关 ...

  6. [luogu P3648] [APIO2014]序列分割

    [luogu P3648] [APIO2014]序列分割 题目描述 小H最近迷上了一个分隔序列的游戏.在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列.为了得到k+1个子序 ...

  7. Linux c读取任意大小文件的所有数据

    代码如下,执行完之后被分配的动态内存的指针会保存到result中.由于是动态分配内存,读取内容不再使用之后注意用free 释放掉,如不明白,请多搜索以下动态内存分配的资料. #include < ...

  8. app性能测试指标

    性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样.中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试.应用在网络上性能的测试和应用在服务器端性能的测试.通常情况下,三方 ...

  9. Mac High Sierra 降级安装Mac Sierra

    1>.将你装备好的U盘用Mac自带的磁盘管理工具格式化成Mac OS扩展(日志式),名称输入disk:2>.打开终端工具,按以下步骤操作:(均不含引号,如未设置系统密码,请前往设置> ...

  10. spring注解实现防盗链拦截

    首先配置 applicationContext.xml, 添加 <!-- 启用 @AspectJ --> <aop:aspectj-autoproxy /> 新建Java工具类 ...