怎样在Arduino上接入SD卡模块

电子说

1.3w人已加入

描述

将Arduino连接到适配器

这些适配器板通常使用串行外设接口(SPI)与微控制器通信。因此,它将占用Arduino上的三个GPIO引脚。此外,您还需要连接芯片选择线以启用SD卡和电源适配器供电线。

Arduino

将Arduino连接到SD卡适配器的示意图。

绿色(MISO)和黄色(MOSI)线连接到Arduino的引脚12和11。时钟(蓝色)需要连接到引脚13.如果您不确定需要在Arduino上使用哪些引脚,请参阅Arduino文档。

短测试程序

进行必要的连接后,就可以连接SD卡了。简短的测试草图列出了卡上的文件。代码可以在本文末尾的zip文件中找到 sd_info 。

如您所见,大多数代码处理控制台输出。只需几行即可连接到设备并初始化文件系统以读取和写入文件。但是,此示例仅打印卡的一些基本属性,如大小,类型和已保存的文件。

Arduino

SD_info示例。

写入SD卡上的文件

现在我们知道卡和模块都在运行,是时候将一些值写入文件了。示例 SD_write (在本文末尾找到)将两行写入存储在SD卡上的日志文件中。

代码的初始化部分几乎是与第一个程序相同。但是,不是打开音量,而是必须初始化SD卡本身。初始化后,必须打开文件。

打开文件进行写入时,如果文件尚不存在,则会自动创建该文件。光标始终位于文件的末尾。因此,如果您在打开文件时没有移动它,只需将新文本附加到其中即可。由于内容存储在SD卡上,您只需使用计算机读取文件内容即可。

Arduino

SD_write程序示例。

从存储在SD卡上的文件中读取

您也可以使用SD卡读取文件。但是,与标准C函数相比,可用的方法非常有限。我发现SD卡经常在查找文件夹中的文件时遇到问题。以下示例(在zip文件中的 SD_read 下)说明了如何从包含传感器读数的文件中读取值。

此示例与写入示例之间唯一真正的区别在于文件按字节方式读取。因此,您必须从文件中读取字节数。结果应如下所示:

Arduino

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分