极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 780|回复: 2

SD卡热拔插问题

[复制链接]
发表于 2020-6-23 14:05:20 | 显示全部楼层 |阅读模式
SD卡在设计之初,显然是支持热拔插的。

但是用arduino的SPI协议操作SD卡,没有办法实现热拔插。市场上能买到的SD卡模块基本都是SPI接口的。


现有的情况是,采用arduinod自带的SD.h这个库可以实现通过SPI协议对卡内文件的读写。
然而,如果在arduino启动之前没有插入卡,或者在arduino启动后拔出了卡再插入,都会造成SD卡无法完成初始化。


唯一的解决途径就是,插好卡后重启动arduino。
以上结论的硬件方案为:arduino nano, 16G Sandisk, MicroSD Adaptor


我觉得主要原因是:自带库的SD.begin()函数只能在setup中执行一次,无论初始化成功与否,都不能在loop循环下被再次执行。
希望arduino技术大佬指点,在不重新启动arduino系统的情况下,如何支持SD卡热拔插。
sd.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-9-28 01:37 , Processed in 0.053388 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表