Arduino控制SD卡(一)

编程入门 行业动态 更新时间:2024-10-25 11:35:52

<a href=https://www.elefans.com/category/jswz/34/1771382.html style=Arduino控制SD卡(一)"/>

Arduino控制SD卡(一)

学习如何使用Arduino读写SD卡。SD卡读卡器是在淘宝上买的,下图右侧的SD卡是行车记录仪上面的。里面有文件夹和视频文件。   Arduino开发平台中自带了SD卡的示例程序,如下图所示:
总共六个示例程序。首先根据示例程序中的注释进行接图:其中的CLK在我买的读卡器上没有这个引脚,我的上面的引脚是SCK

* SD card attached to SPI bus as follows:
** MOSI - pin 11,连接到arduino的MOSI口,在UNO及兼容板上为11号引脚
** MISO - pin 12,连接到arduino的MISO口,在UNO及兼容板上为12号引脚
** CLK - pin 13,连接到arduino的SCLK口,在UNO及兼容板上为13号引脚
** CS - pin 4,TF卡片选,例程中需连接到4号脚(在没有使用其他SPI设备时可不连接)

接线示意图和实际接线图如下:     下面依次运行Arduino中的例子,显示运行结果: 第一个示例:CardInfo,这个示例是获取SD卡基本信息和SD卡上的文件夹和文件信息:


Initializing SD card...Wiring is correct and a card is present.

Card type: SDHC

Volume type is FAT32

Volume size (bytes): 1647312896
Volume size (Kbytes): 1608704
Volume size (Mbytes): 1571

Files found on the card (name, date and size in bytes):
NORMAL/ 2015-01-01 00:00:02
2016-0~1.MOV 2016-09-23 14:32:28 62947328
2016-0~2.MOV 2016-09-23 18:13:28 755269632
2016-0~3.MOV 2016-09-25 13:37:38 377618432
2016-0~4.MOV 2016-09-25 14:03:14 566460416
2016-0~5.MOV 2016-09-25 17:20:24 755269632
2016-0~6.MOV 2016-09-25 17:21:22 146866176
2016-0~7.MOV 2016-09-28 12:58:28 755269632
2016-0~8.MOV 2016-09-28 13:03:30 21004288
2016-0~9.MOV 2016-09-28 14:29:54 755269632
2016-~10.MOV 2016-09-28 14:30:06 41975808
2016-~11.MOV 2016-09-28 18:32:38 755269632
2016-~12.MOV 2016-09-28 18:36:54 650346496
2016-~13.MOV 2016-09-29 07:41:16 755269632
2016-~14.MOV 2016-09-29 07:50:26 629374976
2016-~15.MOV 2016-09-29 12:05:48 755269632
2016-~16.MOV 2016-09-29 12:20:14 188841984
2016-~17.MOV 2016-09-29 14:29:54 755269632
2016-~18.MOV 2016-09-29 14:34:54 755269632
2016-~19.MOV 2016-09-29 14:36:52 293732352
2016-~20.MOV 2016-09-30 12:07:58 755269632
2016-~21.MOV 2016-09-30 12:10:02 314703872
2016-~22.MOV 2016-09-30 14:26:52 272728064
2016-~23.MOV 2016-09-30 14:37:06 503513088
2016-~24.MOV 2016-09-22 16:45:36 755269632
2016-~25.MOV 2016-09-22 16:49:50 650346496
2016-~26.MOV 2016-09-23 07:50:40 755269632
2016-~27.MOV 2016-09-23 07:55:40 755269632
2016-~28.MOV 2016-09-23 08:00:40 755269632
2016-~29.MOV 2016-09-23 08:05:36 755269632
2016-~30.MOV 2016-09-23 12:11:30 755269632
2016-~31.MOV 2016-09-23 12:15:34 629374976
2016-~32.MOV 2016-09-23 12:39:40 755269632
2016-~33.MOV 2016-09-23 12:43:04 524484608
2016-~34.MOV 2016-09-23 14:32:12 755269632
2016-~35.MOV 2016-09-23 18:17:08 566460416
2016-~36.MOV 2016-09-25 13:35:14 755269632
2016-~37.MOV 2016-09-28 12:45:40 524484608
2016-~38.MOV 2016-09-28 13:03:28 755269632
2016-~39.MOV 2016-09-29 07:46:16 755269632
2016-~40.MOV 2016-09-29 12:09:48 608403456
2016-~41.MOV 2016-09-29 12:19:02 755269632
2016-~43.MOV 2016-09-23 14:27:12 755269632
2016-~44.MOV 2016-09-23 18:08:28 755269632
2016-~45.MOV 2016-09-25 17:15:24 755269632
2016-~46.MOV 2016-09-28 12:42:18 755269632
2016-~47.MOV 2016-09-28 18:44:08 713293824
2016-~48.MOV 2016-09-30 12:02:58 755269632
2016-~49.MOV 2016-09-28 14:24:54 755269632
2016-~50.MOV 2016-09-30 14:33:48 755269632
EVENT/ 2015-01-01 00:00:02
2016-0~1.MOV 2016-07-12 12:00:32 314703872
2016-0~2.MOV 2016-08-07 14:19:52 335675392
2016-0~3.MOV 2016-09-30 14:28:48 335675392
SYSTEM~1/ 2016-03-19 00:17:42
INDEXE~1 2016-03-19 00:17:44 76


第二个示例:DataLogger,这个示例是读模拟引脚0-2的值并记录到SD卡上。

Initializing SD card...card initialized.
538,540,434
470,498,466
463,475,465
455,458,457
446,443,444
438,435,434
433,430,429
427,425,424
419,416,416
409,405,406
398,395,395
389,384,385
379,374,374
371,367,366
367,364,362

第三个示例:DumpFile,这个示例是将SD卡上datalog.txt文件中的内容读出来并发送到串口

Initializing SD card...card initialized.
379,348,327
340,335,328
330,328,325
324,322,320
318,316,314
312,309,308
303,298,298
297,293,292
290,287,287
287,285,284
282,279,279
278,276,275
275,273,272

第四个示例:Files,这个示例是在SD卡上先创建然后删除文件example.txt

Initializing SD card...initialization done.
example.txt doesn't exist.
Creating example.txt...
example.txt exists.
Removing example.txt...
example.txt doesn't exist.

第五个示例:listfiles,该示例是递归读取SD卡上的文件夹,并列出文件夹中的文件和子文件夹信息

Initializing SD card...initialization done.
NORMAL/
2016-0~1.MOV 62947328
2016-0~2.MOV 755269632
2016-0~3.MOV 377618432
2016-0~4.MOV 566460416
2016-0~5.MOV 755269632
2016-0~6.MOV 146866176
2016-0~7.MOV 755269632
2016-0~8.MOV 21004288
2016-0~9.MOV 755269632
2016-~10.MOV 41975808
2016-~11.MOV 755269632
2016-~12.MOV 650346496
2016-~13.MOV 755269632
2016-~14.MOV 629374976
2016-~15.MOV 755269632
2016-~16.MOV 188841984
2016-~17.MOV 755269632
2016-~18.MOV 755269632
2016-~19.MOV 293732352
2016-~20.MOV 755269632
2016-~21.MOV 314703872
2016-~22.MOV 272728064
2016-~23.MOV 503513088
2016-~24.MOV 755269632
2016-~25.MOV 650346496
2016-~26.MOV 755269632
2016-~27.MOV 755269632
2016-~28.MOV 755269632
2016-~29.MOV 755269632
2016-~30.MOV 755269632
2016-~31.MOV 629374976
2016-~32.MOV 755269632
2016-~33.MOV 524484608
2016-~34.MOV 755269632
2016-~35.MOV 566460416
2016-~36.MOV 755269632
2016-~37.MOV 524484608
2016-~38.MOV 755269632
2016-~39.MOV 755269632
2016-~40.MOV 608403456
2016-~41.MOV 755269632
2016-~43.MOV 755269632
2016-~44.MOV 755269632
2016-~45.MOV 755269632
2016-~46.MOV 755269632
2016-~47.MOV 713293824
2016-~48.MOV 755269632
2016-~49.MOV 755269632
2016-~50.MOV 755269632
EVENT/
2016-0~1.MOV 314703872
2016-0~2.MOV 335675392
2016-0~3.MOV 335675392
DATALOG.TXT 21944
SYSTEM~1/
INDEXE~1 76
done!

第六个示例:ReadWrite,这个示例是在SD卡上写、读文件test.txt

Initializing SD card...initialization done.
Writing to test.txt...done.
test.txt:
testing 1, 2, 3.

这六个示例已经把Arduino和SD卡的基本操作都包括了。 下一步计划下一个C#的上位机程序,该程序可以通过Arduino对SD卡进行基本的读、写、删等控制。
 参考文献: 1).html

更多推荐

Arduino控制SD卡(一)

本文发布于:2023-06-27 08:08:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/908565.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Arduino   SD

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!