/*
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. 变量和关系符和JAVA基本类型笔记与常考面试题

    变量的类型:数值型:整型(byte,short,int,long).浮点型(float,double)非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型 ...

  2. UVA11235 Frequent values

    思路 连续的值只会分布在一起成一个块 讨论两边的块,中间就是RMQ了 ST表即可 代码 #include <cstdio> #include <algorithm> #incl ...

  3. 【Python】【装饰器】

    Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...

  4. Executors创建线程池的几种方式以及使用

    Java通过Executors提供四种线程池,分别为:   1.newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.   ...

  5. webpack.optimize.UglifyJsPlugin配置说明

    https://segmentfault.com/a/1190000008995453?utm_source=tuicool&utm_medium=referral

  6. python 利用selectors实现异步I/O

    它的功能与linux的epoll,还是select模块,poll等类似:实现高效的I/O multiplexing,  常用于非阻塞的socket的编程中: 简单介绍一下这个模块,更多内容查看 pyt ...

  7. Centos7 多网卡抓包可以抓到UDP但程序recvfrom不到

    问题: Centos7多网卡,抓包时发现某网卡上有UDP包,但是用程序recvfrom无法接收到消息. 解决步骤: 1.确认防火墙是否关闭: 已关闭 2.确认网卡是否开启过滤:cat /proc/sy ...

  8. ORACLE中使用row_number over()排序

    from:http://blog.csdn.net/iw1210/article/details/11937085 意图:实现select top 1 * from tablename Oracle  ...

  9. python3练习-查找文件

    题: 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径 import os import os.path def find_file(root,pa ...

  10. codeblock不能调试

    问题:codeblock  不能调试,如下图: 解决方法: 首先,项目的保存路径不能是中文路径. 其次,必须创建工程. 最后,build选项里select target选成debug codebloc ...